Meeskond "H2": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 271: Line 271:
Mailis hakkab veebiteenuseid tegema
Mailis hakkab veebiteenuseid tegema
===17. aprill===
===17. aprill===
Veebiteenused in valmis
Veebiteenused in valmis:
AnnaJoogiliikideNimekiri
AnnaJookideNimekiri
AnnaKohvikuNimekiri
AnnaMenyyLiikideNimekiri
AnnaMenyydeNimekiri
AnnaPromillideNimekiri
AnnaToiduliikideNimekiri
AnnaToitudeNimekiri
LisaJoogiLiik
LisaMenyyLiik
LisaPromill
LisaToiduLiik
annaJoogiID_nimeJargi
annaJoogiLiigiID_nimeJargi
annaJoogiLiigiNIMI_IDjargi
annaKohvikuID_nimeJargi
annaLinnaID_LinnaNimeJargi
annaLinnad_maakonnaNIMEjargi
annaMaakonnaID_nimeJargi
annaMenyyLiigiID_nimeJargi
annaPromill_IDjargi
annaPromilliID_promilliNrJargi
annaToiduID_nimeJargi
annaToiduLiigiID_nimeJargi
annaToiduLiigiNIMI_IDjargi
k6igiKohvikuteMenyyd
lisaJookMenyysse
lisaToitMenyysse
lisaUusJook
lisaUusKohvik
lisaUusMenyy
lisaUusToit

Revision as of 08:02, 18 April 2011

Kohviku menüüsüsteem

Projekt

Kohvikute (esialgu ainult IT-Kohviku) menüüsüsteem, mis on jälgitav mobiilseadmetelt. Lisaväärtusena võimaldab anda pakutavale hinnanguid, otsuse langetamise hõlbustamiseks kommentaar:(see viimane funktsioon kipub vist "veebirakenduseks" muutuma)
Sihtplatvormid: Windows Mobile, iOS, Android(kui leiame vabatahtlikud testijad)

Taustinfo

Praegune IT-Kohviku menüü on käsitsi täidetav valge tahvel. Projekti eesmärgiks on parendada IT-Kohviku menüüsüsteemi ja teha see veebi kaudu kättesaadavaks, nii, et menüüsse saab lisada ka karniiri valiku. Standardmenüü puhul saab menüüs olla ka illustreeriv foto. Hetkemenüü ning hinnad ja lahtioleku ajad on samuti jälgitavad võrguühendust eviva mobiilseadme ekraanilt, hõlbustades sellega valikute tegemist.

Liikmed

  • Mailis Toompuu
  • Henri Kroosmann
  • Heiki Tamm

Sisu

XML Data

<?xml version="1.0" encoding="utf-8"?>
<menu>
  <product>
    <name>name1</name>
    <type>
      <id>0</id>
      <name>name1</name>
    </type>
    <extras>
      <item>item1</item>
      <item>item2</item>
      <item>item3</item>
    </extras>
    <price>
      <int>0</int>
      <frac>0</frac>
      <discount>discount1</discount>
    </price>
    <vote>
      <pos>0</pos>
      <neg>0</neg>
    </vote>
    <screenshot>screenshot1</screenshot>
  </product>
  <product>
    <name>name2</name>
    <type>
      <id>255</id>
      <name>name2</name>
    </type>
    <extras>
      <item>item4</item>
      <item>item5</item>
      <item>item6</item>
    </extras>
    <price>
      <int>255</int>
      <frac>255</frac>
      <discount>discount2</discount>
    </price>
    <vote>
      <pos>255</pos>
      <neg>255</neg>
    </vote>
    <screenshot>screenshot2</screenshot>
  </product>
  <product>
    <name>name3</name>
    <type>
      <id>1</id>
      <name>name3</name>
    </type>
    <extras>
      <item>item7</item>
      <item>item8</item>
      <item>item9</item>
    </extras>
    <price>
      <int>1</int>
      <frac>1</frac>
      <discount>discount3</discount>
    </price>
    <vote>
      <pos>1</pos>
      <neg>1</neg>
    </vote>
    <screenshot>screenshot3</screenshot>
  </product>
</menu>

XML Schema

Ülevaade Schema'st.

Ning sellele vastav kood.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="menu">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="product">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name" type="xs:string" />
              <xs:element name="type">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="id" type="xs:unsignedByte" />
                    <xs:element name="name" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="extras">
                <xs:complexType>
                  <xs:sequence minOccurs="0">
                    <xs:element maxOccurs="unbounded" name="item" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="price">
                <xs:complexType>
                  <xs:sequence minOccurs="0">
                    <xs:element name="int" type="xs:unsignedByte" />
                    <xs:element name="frac" type="xs:unsignedByte" />
                    <xs:element minOccurs="0" name="discount" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="vote">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="pos" type="xs:unsignedByte" />
                    <xs:element name="neg" type="xs:unsignedByte" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="screenshot" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XML Style

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
        <style type="text/css">
          html,body{margin:0;padding:0;font-family:Helvetica,Arial,sans-serif;font-size:14px;line-height:19px;color:#2c2c2c;}
          h1{margin:0;padding:25px 0 0;font-size:22px;line-height:25px;text-align:center;}
          h2{margin:0;padding:5px;font-size:16px;line-height:21px}
          span.discount{padding:0 0 0 5px;color:red;}
          table{margin:20px auto;padding:0;}
          th,td{padding:5px;border:1px solid #2c2c2c;vertical-align:top;text-align:left}
          th{font-weight:bold;background-color:#eee;}
          ul{margin:0;padding:0;list-style-type:none;}
        </style>
      </head>
      <body>
        <h1>Menüü</h1>
        <table width="800">
          <col width="200"/>
          <col width="100"/>
          <col width="*"/>
          <col witdh="*"/>
          <col width="*"/>
          <col width="150"/>
          <tr>
            <th>Nimetus</th>
            <th>Lisandid</th>
            <th>Tüüp</th>
            <th>Hind</th>
            <th>Hinne / Hindajaid</th>
            <th>Pilt</th>
          </tr>

          <xsl:for-each select="menu/product">
            <xsl:sort select="type/id"/>
            <xsl:sort select="name"/>
            <tr>
              <th>
                <xsl:value-of select="name"/>
              </th>

              <xsl:choose>
                <xsl:when test="extras/node()">
                  <td>
                    <ul>
                      <xsl:for-each select="extras/item">
                        <li>
                          <xsl:value-of select="."/>
                        </li>
                      </xsl:for-each>
                    </ul>
                  </td>
                </xsl:when>
                <xsl:otherwise>
                  <td>-</td>
                </xsl:otherwise>
              </xsl:choose>

              <td>
                <xsl:value-of select="type/name"/>
              </td>

              <xsl:choose>
                <xsl:when test="price/node()">
                  <td>
                    €<xsl:value-of select="price/int"/>.<xsl:value-of select="price/frac"/>
                    <xsl:if test="price/discount/text()">
                      <span class="discount">
                        (-<xsl:value-of select="price/discount"/>%)
                      </span>
                    </xsl:if>
                  </td>
                </xsl:when>
                <xsl:otherwise>
                  <td>-</td>
                </xsl:otherwise>
              </xsl:choose>

              <xsl:variable name="p" select="vote/pos"/>
              <xsl:variable name="n" select="vote/neg"/>
              <td>
                <xsl:value-of select="$p - $n"/> / <xsl:value-of select="$p + $n"/>
              </td>

              <xsl:choose>
                <xsl:when test="screenshot/text()">
                  <td>
                    <img src="{screenshot}" alt=""/>
                  </td>
                </xsl:when>
                <xsl:otherwise>
                  <td>
                    <img src="screenshots/default.png" alt="No image"/>
                  </td>
                </xsl:otherwise>
              </xsl:choose>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Sisu ja stiilifaili koostöö http://henri.kroosmann.ee/kool/xml/index.xml

VEEBITEENUSED

11.-12. aprill

Henri koostab tabelite loogika

13. aprill

Mailis otsustab veebiteenused teha asmx-is [webmethod]-itega

14. aprill

Mailis hakkab veebiteenuseid tegema

17. aprill

Veebiteenused in valmis: AnnaJoogiliikideNimekiri AnnaJookideNimekiri AnnaKohvikuNimekiri AnnaMenyyLiikideNimekiri AnnaMenyydeNimekiri AnnaPromillideNimekiri AnnaToiduliikideNimekiri AnnaToitudeNimekiri LisaJoogiLiik LisaMenyyLiik LisaPromill LisaToiduLiik annaJoogiID_nimeJargi annaJoogiLiigiID_nimeJargi annaJoogiLiigiNIMI_IDjargi annaKohvikuID_nimeJargi annaLinnaID_LinnaNimeJargi annaLinnad_maakonnaNIMEjargi annaMaakonnaID_nimeJargi annaMenyyLiigiID_nimeJargi annaPromill_IDjargi annaPromilliID_promilliNrJargi annaToiduID_nimeJargi annaToiduLiigiID_nimeJargi annaToiduLiigiNIMI_IDjargi k6igiKohvikuteMenyyd lisaJookMenyysse lisaToitMenyysse lisaUusJook lisaUusKohvik lisaUusMenyy lisaUusToit