Meeskond "X"

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Projekti ülesanded

  • Koostada XML schema
  • Ehitada veebiteenus
  • Ehitada selle veebiteenuse peale veebirakendus

Teema

Lao teenus, mis võimaldab isikul registreerida ennast kasutajaks ja siis saab kasutada lao teenust.
Peamised võimalused:

  • Laoseisu vaatamine
  • Kauba redigeerimine
  • Kauba lisamine
  • Kauba kustutamine

Liikmed

  • Sergei Rumjantsev
  • Martin Hallang
  • Rauno Pihlak

Töökäik

24.03.10

Uurisime ASP.NET baasil töötavad kasutajasüsteemi ja katsetasime natuke selle põhjal veebi tegemist.

  • Saime valmis andmebaasiga, kuhu pidime installeerima ASP.NET poolt kasutatavad tabelid.
  • Saime tööle kasutaja registreerimise/sisenemise.

12.04.10

Hakkasime põhjalikumalt uurima WCF-i.

  • Saime tööle testmeetodid.
  • Ei tulnud välja ühendada meetod andmebaasiga.

16.04.10

Peale pikka lugemist ja internetiavarustes uitamist jõudsime järeldusele, et parem on kasutada Linq2Sql klassi.

  • Lisasime meile vajalikud tabelid andmebaasi.
  • Saime tööle algse andmebaasi lisamise meetodi.
  • Ei suutnud tööle saada autentimist.

20.04.10

  • Saime tööle autentimise ASP.NET Form poolt pakutava baasi abil.
  • Lisatud palju uusi meetodeid.

08.05.10

  • Rakenduse poole peal on võimalik näha oma poolt sisestatud esemeid.
  • Enda esemeid saab muuta ja kustutada vastavalt vajadusele.
  • On võimalik lisada uusi esemeid lattu.
  • Rakenduse kujundus natuke tehtud paremaks. Korralik css fail taha pandud.

10.05.10

  • Lisasime veateated.
  • Xml andmefail loodud.
  • Lisasime rakendusele updatepaneeli, mille abil saab teostada muudatusi ilma, et peaks tegema refreshi

14.05.10

  • Esemete muutmisel dropboxi valik on nüüd õige eseme peal. Ei pea uuesti valima gruppi iga muutmise korral.

17.05.10

  • Muudetud rolle. Administraatorile lisatud uusi võimalusi, registreerimata kasutajatel puudub võimalus näha ladudes olevaid esemeid.

To be continued ...'

Veebiteenuse meetodid

  • Kõigile avatud
    • Sisene() - autendib kasutajat ja tagastab vastavalt, kas true/fale väärtuse
    • Valju() - kustutab kasutajaga seotud sessiooni ja cookied
  • Kasutajale ja Administraatorile avatud
    • NaitaGrupid() - tagastab List<Grupp>, kus on sees gruppide nimekiri
    • NaitaEsemeidLaos(int LaduId) - tagastab List<LaoEse> esemed lao id järgi
    • NaitaEsemeteArvuLaos(int LaduId) - tagastab int väärtuse
    • NaitaEsemeidGrupis(int GruppId) - tagastab List<LaoEse> esemed grupi id järgi
    • NaitaEsemeteArvuGrupis(int GruppId) - tagastab int väärtuse
    • NaitaLaoEsemeid() - tagastab List<LaoEse>, kus on sees esemete nimekiri, mille kogus > 0
    • NaitaMinuLaoEsemeid() - tagastab autenditud kasutaja poolt sisestatud esemed
    • LisaLaoEse() - autenditud kasutaja lisab uusi esemeid andmebaasi
    • UuendaEse() - autenditud kasutaja muudab enda poolt sisestatud esemete infot
    • KustutaEse() - autenditud kasutaja kustutab enda poolt sisestatud esemeid
    • LisaLadu() - autenditud kasutaja lisab ladu
    • UuendaLadu - autenditud kasutaja muudab enda ladu
    • NaitaMinuLadudeArvu - autenditud kasutaja saab kätte enda ladude arvu
    • NaitaMinuLadusid - tagastab autenditud kasutaja List<Ladu2>
  • Admin
    • LisaGrupp() - uue grupi lisamine
    • UuendaGrupp() - grupi nime muutmine
    • NaitaEsemeteArvuKasutajal(Guid UserId) - tagastab int väärtuse
    • NaitaLadusid() - tagastab List<Ladu2>, kus sees kõik olemasolevad laod
    • NaitaKasutajaLogi() - näitab kasutaja logi

XML

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>

<LaoEsemed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="test.xsd">
  
  <LaoEse Id="3" Name="Audi" Amount="10000000" Price="10">
    <Group Id="1">
      <Name>Sõidukid</Name>
    </Group>
    <Description>Kiire</Description>
  </LaoEse>
  
  <LaoEse Id="6" Name="Test" Amount="100" Price="1">
    <Group Id="1">
      <Name>Sõidukid</Name>
    </Group>
    <Description>Kiire</Description>
  </LaoEse>
  
  <LaoEse Id="7" Name="Maja" Amount="10000" Price="100">
    <Group Id="2">
      <Name>Elamud</Name>
    </Group>
    <Description>Suur!</Description>
  </LaoEse>
  
  <LaoEse Id="8" Name="Korter" Amount="10000" Price="100">
    <Group Id="2">
      <Name>Elamud</Name>
    </Group>
    <Description>Väike</Description>
  </LaoEse>
  
  <LaoEse Id="4" Name="Maja" Amount="10000" Price="100">
    <Group Id="2">
      <Name>Elamud</Name>
    </Group>
    <Description>5 korrust</Description>
  </LaoEse>
  
  <LaoEse Id="5" Name="Maja" Amount="10000" Price="100">
    <Group Id="2">
      <Name>Elamud</Name>
    </Group>
    <Description>2 korrust</Description>
  </LaoEse>
  
  <LaoEse Id="2" Name="Korter" Amount="10000" Price="100">
    <Group Id="2">
      <Name>Elamud</Name>
    </Group>
    <Description>2 tuba</Description>
  </LaoEse>
  
  <LaoEse Id="12" Name="Maja" Amount="1" Price="33">
    <Group Id="2">
      <Name>Elamud</Name>
    </Group>
    <Description>Väike</Description>
  </LaoEse>
  
  <LaoEse Id="9" Name="Botased" Amount="100" Price="500">
    <Group Id="4">
      <Name>Riided/jalatsid</Name>
    </Group>
    <Description>Uus!</Description>
  </LaoEse>
  
  <LaoEse Id="10" Name="Kell" Amount="1" Price="2">
    <Group Id="5">
      <Name>Luksuskaubad</Name>
    </Group>
    <Description>Kullast.</Description>
  </LaoEse>
  
  <LaoEse Id="1" Name="Kaelakee" Amount="91" Price="120">
    <Group Id="5">
      <Name>Luksuskaubad</Name>
    </Group>
    <Description>Uus</Description>
  </LaoEse>
  
  <LaoEse Id="14" Name="Dell Vostro 1310" Amount="1" Price="7000">
    <Group Id="9">
      <Name>Arvutid</Name>
    </Group>
    <Description>Uus</Description>
  </LaoEse>
  
  <LaoEse Id="15" Name="Dell" Amount="1" Price="500">
    <Group Id="9">
      <Name>Arvutid</Name>
    </Group>
    <Description>Uus!</Description>
  </LaoEse>

</LaoEsemed>

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="LaoEsemed">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="LaoEse">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Group">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Name" type="xs:string" />
                  </xs:sequence>
                  <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element name="Description" type="xs:string" />
            </xs:sequence>
            <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
            <xs:attribute name="Name" type="xs:string" use="required" />
            <xs:attribute name="Amount" type="xs:unsignedInt" use="required" />
            <xs:attribute name="Price" type="xs:unsignedShort" use="required" />
          </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="LaoEsemed">
    <html>
      <body>
        <h2>Lao esemed</h2>
        <table border="1" cellpadding="3">
          <tr>
            <th>Nimi</th>
            <th>Hind</th>
            <th>Kogus</th>
            <th>Grupp</th>
          </tr>
          <xsl:for-each select="LaoEse">
            <tr>
              <td>
                <xsl:value-of select="@Name"/>
              </td>
              <td>
                <xsl:value-of select="@Price"/>
              </td>
              <td>
                <xsl:value-of select="@Amount"/>
              </td>
              <td>
                <xsl:value-of select="Group/Name"/>
              </td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>

</xsl:stylesheet>