Meeskond "X": Difference between revisions

From ICO wiki
Jump to navigationJump to search
m (liikmed ja teema algne kirjeldus)
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Projekti ülesanded ==
* Koostada XML schema
* Ehitada veebiteenus
* Ehitada selle veebiteenuse peale veebirakendus
== Teema ==
== Teema ==
Lao teenus, mis võimaldab isikul registreerida ennast kasutajaks ja siis saab kasutada lao teenust. <br />
Lao teenus, mis võimaldab isikul registreerida ennast kasutajaks ja siis saab kasutada lao teenust. <br />
<b>Peamised võimalused:</b>
'''Peamised võimalused:'''
<ul>
*Laoseisu vaatamine
<li>Laoseisu vaatamine</li>
*Kauba redigeerimine
<li>Kauba redigeerimine</li>
*Kauba lisamine
<li>Kauba lisamine</li>
*Kauba kustutamine
<li>Kauba kustutamine</li>
</ul>


== Liikmed ==
== Liikmed ==
<ul>
*Sergei Rumjantsev
<li>Sergei Rumjantsev</li>
*Martin Hallang
<li>Martin Hallang</li>
*Rauno Pihlak
<li>Rauno Pihlak</li>
 
</ul>
== 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 ==
 
<source lang="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>
</source>
 
== XML Schema==
 
<source lang="xml">
<?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>
</source>
 
== XSLT ==
 
<source lang="xml">
<?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>
</source>
 
[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]

Latest revision as of 16:31, 17 May 2010

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>