Meeskond "X": Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
|||
(18 intermediate revisions by 2 users not shown) | |||
Line 17: | Line 17: | ||
*Martin Hallang | *Martin Hallang | ||
*Rauno Pihlak | *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 == | |||
<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]] | [[Category: Võrgurakendused II: hajussüsteemide ehitamine]] |
Latest revision as of 15: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>