Vor
From ICO wiki
Projekti ülesanded
- Koostada XML schema
- Ehitada veebiteenus
- Ehitada selle veebiteenuse peale veebirakendus
Teema
Pileti teenus, mis võimaldab isikutel osta bussipileteid ja adminn isikutel pileteid muuta
Peamised võimalused:
- Pileti ostmine
- Pilet redigeerimine
- Pileti lisamine
- Pileti kustutamine
Liikmed
- Raido Hallop
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"?>
<Piletid>
<Pilet>
<Id>1</Id>
<Nimetus>1 tunni pilet</Nimetus>
<Liik>Tunnipilet</Liik>
<Linn>Tallinn</Linn>
<Hind>1</Hind>
<Valuuta>EUR</Valuuta>
</Pilet>
<Pilet>
<Id>2</Id>
<Nimetus>1 tunni pilet</Nimetus>
<Liik>Tunnipilet</Liik>
<Linn>Tartu</Linn>
<Hind>1</Hind>
<Valuuta>EUR</Valuuta>
</Pilet>
</Piletid>
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="Piletid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Pilet">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:unsignedByte" />
<xs:element name="Nimetus" type="xs:string" />
<xs:element name="Liik" type="xs:string" />
<xs:element name="Linn" type="xs:string" />
<xs:element name="Hind" type="xs:unsignedByte" />
<xs:element name="Valuuta" type="xs:string" />
</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="Piletid">
<html>
<body>
<h2>Piletid</h2>
<table border="1" cellpadding="3">
<tr>
<th>Id</th>
<th>Nimetus</th>
<th>Liik</th>
<th>Linn</th>
<th>Hind</th>
<th>Valuuta</th>
</tr>
<xsl:for-each select="Pilet">
<tr>
<td>
<xsl:value-of select="Id"/>
</td>
<td>
<xsl:value-of select="Nimetus"/>
</td>
<td>
<xsl:value-of select="Liik"/>
</td>
<td>
<xsl:value-of select="Linn"/>
</td>
<td>
<xsl:value-of select="Hind"/>
</td>
<td>
<xsl:value-of select="Valuuta"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>