Meeskond "C terav"

From ICO wiki
Jump to navigationJump to search

Liikmed

  • Madis Sarv
  • Siim Sarv
  • Jaanus Vallmann

Idee

Kohviku omanikud saavad lisada oma kohvikulue päeva menüüsi, mida saavad teised komenteerida. Kohviku kohta on ka asukoht ja ajakava millal see lahti on. Toite saavad lisada ainult regristreerinud kasutajad, kes on kohviku omanikud. Kohviku omanikud saavad ka muuta oma kohviku andmeid ja lahtioleku aegu ning lisada erandpäevi(kas on üldse kinni või on pikemalt lahti). Omanik lisab päevakohta menüü, kui see saab sel päeval otsa märgib, et on otsas. Menüüs saab ta lisada toidule nime, tüübi ja infot selle kohta ning täis- ja pooliku portsioni hinnad. Tavakasutajad saavad komenteerida toite (sisestades oma nime ja komentaari) ning neid hinnata. Hinnata saab aint komentaari lisades. Tavakasutaja ei pea sisselogima.

Ülesanded

  • Madis Sarv - xml,teenuse metoodid, klientrakendus
  • Siim Sarv - xml,teenuse metoodid, klientrakendus
  • Jaanus Vallmann - xml,teenuse turva ja logi

XML

<?xml version="1.0" encoding="utf-8"?>
<kohvikud>
  <kohvik>
    <nimi>Kohvik1</nimi>
    <aadress laius="59.395515" pikkus="24.664993">
      <riik>Eesti</riik>
      <maakond>Harjumaa</maakond>
      <linnVald>Tallinn</linnVald>
      <tanav>Raja</tanav>
      <majaNR>C4</majaNR>
      <indeks>12315</indeks>
    </aadress>
    <lahtiOlekuAjad>
      <aeg>
        <nadalaPaevad>
          <nadalaPaev>esmaspäev</nadalaPaev>
          <nadalaPaev>teisipäev</nadalaPaev>
          <nadalaPaev>kolmapäev</nadalaPaev>
          <nadalaPaev>neljapäev</nadalaPaev>
          <nadalaPaev>reede</nadalaPaev>
        </nadalaPaevad>
        <avamisAeg>
          <tund>09</tund>
          <minut>00</minut>
        </avamisAeg>
        <sulgemisAeg>
          <tund>16</tund>
          <minut>00</minut>
        </sulgemisAeg>
      </aeg>
    </lahtiOlekuAjad>
    <erandPaevad>
      <kuuPaev>
        <paev>1</paev>
        <kuu>1</kuu>
        <aasta>2011</aasta>
        <avamisAeg>
          <tund>09</tund>
          <minut>00</minut>
        </avamisAeg>
        <sulgemisAeg>
          <tund>16</tund>
          <minut>00</minut>
        </sulgemisAeg>
      </kuuPaev>
    </erandPaevad>
    <menyyd>
      <menyy>
        <kuuPaev>
          <paev>23</paev>
          <kuu>2</kuu>
          <aasta>2011</aasta>
        </kuuPaev>
        <toidud>
          <toit>
            <nimi>Seljanka</nimi>
            <liik>Supp</liik>
            <info>Supp on kausis</info>
            <hinnad>
              <tais>1.80</tais>
              <poolik>1</poolik>
            </hinnad>
            <kommentaarid>
              <kommentaar>
                <nimi>Teet</nimi>
                <text>Jõhker oli</text>
                <hinnang>8</hinnang>
              </kommentaar>
            </kommentaarid>
            <otsas>1</otsas>
          </toit>
          <toit>
            <nimi>Pozarski kotlett</nimi>
            <liik>Praad</liik>
            <info>kotlett ja keedukartulid</info>
            <hinnad>
              <tais>2.5</tais>
              <poolik>2</poolik>
            </hinnad>
            <kommentaarid>
              <kommentaar>
                <nimi>Aivar</nimi>
                <text>Külmaks oli läinud</text>
                <hinnang>2</hinnang>
              </kommentaar>
            </kommentaarid>
            <otsas>0</otsas>
          </toit>
          <lisad>
            <lisa>
              <nimi>Praekartul</nimi>
              <otsas>0</otsas>
            </lisa>
            <lisa>
              <nimi>Riis</nimi>
              <otsas>0</otsas>
            </lisa>
            <lisa>
              <nimi>Ahjukartul</nimi>
              <otsas>0</otsas>
            </lisa>
          </lisad>
        </toidud>
      </menyy>
    </menyyd>
  </kohvik>
</kohvikud>

XML Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="kohvikud">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="kohvik">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="nimi" type="xs:string" />
              <xs:element name="aadress">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="riik" type="xs:string" />
                    <xs:element name="maakond" type="xs:string" />
                    <xs:element name="linnVald" type="xs:string" />
                    <xs:element name="tanav" type="xs:string" />
                    <xs:element name="majaNR" type="xs:string" />
                    <xs:element name="indeks" type="xs:integer" />
                  </xs:sequence>
                  <xs:attribute name="laius" type="xs:decimal" use="required" />
                  <xs:attribute name="pikkus" type="xs:decimal" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element name="lahtiOlekuAjad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="aeg">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nadalaPaevad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="nadalaPaev" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="avamisAeg">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tund" type="xs:integer" />
                                <xs:element name="minut" type="xs:integer" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="sulgemisAeg">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tund" type="xs:integer" />
                                <xs:element name="minut" type="xs:integer" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="erandPaevad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="kuuPaev">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="paev" type="xs:integer" />
                          <xs:element name="kuu" type="xs:integer" />
                          <xs:element name="aasta" type="xs:integer" />
                          <xs:element name="avamisAeg">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tund" type="xs:integer" />
                                <xs:element name="minut" type="xs:integer" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="sulgemisAeg">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tund" type="xs:integer" />
                                <xs:element name="minut" type="xs:integer" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="menyyd">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="menyy">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="kuuPaev">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="paev" type="xs:integer" />
                                <xs:element name="kuu" type="xs:integer" />
                                <xs:element name="aasta" type="xs:integer" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="toidud">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="toit">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="nimi" type="xs:string" />
                                      <xs:element name="liik" type="xs:string" />
                                      <xs:element name="info" type="xs:string" />
                                      <xs:element name="hinnad">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="tais" type="xs:decimal" />
                                            <xs:element name="poolik" type="xs:decimal" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                      <xs:element name="kommentaarid">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="kommentaar">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="nimi" type="xs:string" />
                                                  <xs:element name="text" type="xs:string" />
                                                  <xs:element name="hinnang" type="xs:integer" />
                                                </xs:sequence>
                                              </xs:complexType>
                                            </xs:element>
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                      <xs:element name="otsas" type="xs:boolean" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="lisad">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element maxOccurs="unbounded" name="lisa">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="nimi" type="xs:string" />
                                            <xs:element name="otsas" type="xs:boolean" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

<?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>
    <body>
    <h2>Kohvikud</h2>
    <table border="1">
      <tr bgcolor="#FFFF00">
        <th>Kohvik</th>
        <th>Aadress</th>
        <th>Lahtiolekuajad</th>
        <th>Erandpäevad</th>        
      </tr>
      <xsl:for-each select="kohvikud/kohvik">
        <tr>
          <td>
            <xsl:value-of select="nimi"/>
          </td>
          <td>
            <xsl:value-of select="aadress"/>
          </td>
          <td>
            <xsl:value-of select="lahtiOlekuAjad"/>
          </td>
          <td>
            <xsl:value-of select="erandPaevad"/>
          </td>                
        </tr>
      </xsl:for-each>
    </table>
    <h2>Menüü</h2>
      <table border="1">
        <tr bgcolor="#FFFF00">
          <th>Toit</th>
          <th>Liik</th>
          <th>Info</th>                
          <th>Hind</th>
          <th>Kommentaar</th>          
          <th>Otsas</th>
        </tr>        
        <xsl:for-each select="kohvikud/kohvik/menyyd/menyy/toidud/toit">
          <tr>
            <td>
              <xsl:value-of select="nimi"/>
            </td>
            <td>
              <xsl:value-of select="liik"/>
            </td>
            <td>
              <xsl:value-of select="info"/>
            </td>                         
            <td>
              <xsl:for-each select="hinnad">
              <table>
                <tr>
                  Täis: <xsl:value-of select="tais"/>
                  <tr />
                  Poolik: <xsl:value-of select="poolik"/>
                </tr>                 
              </table>
              </xsl:for-each>
            </td>
            <td>
              <xsl:for-each select="kommentaarid/kommentaar">
                <table>
                  <tr>
                    <td>
                      <xsl:value-of select="text"/> (<xsl:value-of select="nimi"/>) Hinnang: <xsl:value-of select="hinnang"/>
                    </td>
                  </tr>
                </table>                
              </xsl:for-each>
            </td>
            <td>              
              <xsl:value-of select="otsas"/>                    
            </td>
          </tr>
        </xsl:for-each>
      </table>
      <h3>Lisad</h3>
      <table border="1">
        <tr bgcolor="#FFFF00">
          <th>Liasd</th>
          <th>Otsas</th>
        </tr>
        <xsl:for-each select="kohvikud/kohvik/menyyd/menyy/toidud/lisad/lisa">
          <tr>
            <td>
              <xsl:value-of select="nimi"/>
            </td>
            <td>
              <xsl:value-of select="otsas"/>
            </td>
          </tr>
        </xsl:for-each>
      </table>
    </body>
    </html>  
  </xsl:template>
</xsl:stylesheet>

Veebiteenus

Klassijaotus

  • KasutajaKirjeClass - Sisaldab kasutajaga seotuid meetodeid näiteks Kasutaj kohta info saamine.
  • KohvikKirjeClass - Sisaldab kohvikuga seaotud meedodeid näiteks kohvikute kuvamine ja nende kohta käiva info muutmine.
  • KomentaarKirjeClass - Sisaldab meedodeid komenataaride vaatamiseks ja lisamiseks.
  • LahtiKirjeClass - Sisaldab meedodeid kohviku lahit oleku eagade kohta.
  • MenyyKirjeClass - Sisaldab infot kohviku menüüde lisamise muutmise kohta.
  • ToiduKirjeClass - Sisadab infot toidude kuvamise liisamise ja muutmise kohta.

Meedodite kirjeldused

  • AnnaMenyy() - Tagastab menüü vastavalt saadud menüüidle.
  • AnnaMenyyKirje() - Tagasatb menüü kireje sisu vastavalt saadud idle.
  • AnnaMenyyKirje() -
  • AnnaKoikMenyyd() -
  • lisaMenyy() -
  • lisaMenyyKirje() -
  • updateMenyy() -
  • updateMenyyKirje() -
  • delMenyy() -
  • delMenyyKirje() -
  • addtUpMenyyKirje() -
  • addtDownMenyyKirje() -
  • AnnaKohvikud() -
  • AnnaKohvik() -
  • addKohvik() -
  • delKohvik() -
  • upKohvik() -
  • annaKohvikuToidud() -
  • annaToidud() -
  • annaToiduTyyp() -
  • nnaToiduTyybid() -
  • annaLisandid() -
  • addToit() -
  • upToit() -
  • delToit() -
  • annaKasutajad() -
  • annaKasutaja() -
  • upKasutaja() -
  • delKasutaja() -
  • addKasutaja() -
  • AddKohvikuKasutaja() -
  • delKohvikuKasutaja() -
  • annaKohvikuKasutajad() -
  • checkKasutaja() -
  • addtUpKommentaar() -
  • addtDownKommentaar() -
  • addKommentaar() -
  • annaKommentaarid() -
  • annaKohvikuLahtiOlek() -
  • addLahtiOlek() -
  • delLahti() -
  • updLahti() -

Andmebaas:

Koodinäited

Link kogu teenuse osa jaoks koos kõigi classidega asub siin