Meeskond "asdasdasd": Difference between revisions
(34 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
===XML=== | ===XML=== | ||
====Kirjeldus:==== | ====Kirjeldus:==== | ||
Meie .xml faili juurelemendiks on <relvad>, mis jagunevad omakorda kaheks: <käsitulirelvad> ja <külmrelvad>. Seda selleks, et oleks selgem eristada. <käsitulirelvad> jagunevad | Meie .xml faili juurelemendiks on <relvad>, mis jagunevad omakorda kaheks: <käsitulirelvad> ja <külmrelvad>. Seda selleks, et oleks selgem eristada. <käsitulirelvad> jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu <löögirelvad>, <torkerelvad> jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel. | ||
====Link:==== | ====Link:==== | ||
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail] | *[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.xml XML fail] | ||
Line 14: | Line 15: | ||
===XML DTD=== | ===XML DTD=== | ||
====Kirjeldus:==== | ====Kirjeldus:==== | ||
.. | DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida. | ||
====Link:==== | ====Link:==== | ||
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad. | *[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/Relvad.dtd Käsitsi kirjutatud DTD] | ||
===XML Skeemifail (DTD põhjal)=== | ===XML Skeemifail (DTD põhjal)=== | ||
*[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal] | *[http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/DTD_pohjal.xsd Skeemifail käsitsi kirjutatud DTD põhjal] | ||
===XML Automaatgenereeritud skeemifail=== | ===XML Automaatgenereeritud skeemifail=== | ||
Line 29: | Line 30: | ||
====Esimene==== | ====Esimene==== | ||
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul. | See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul. | ||
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.xslt Transformatsioonifail 1] | |||
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-1.htm Transformatsioonifail 1 tulemus] | |||
====Teine==== | ====Teine==== | ||
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks). | See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks). | ||
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.xslt Transformatsioonifail 2] | |||
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-2.htm Transformatsioonifail 2 tulemus] | |||
====Kolmas==== | ====Kolmas==== | ||
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad. | See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad. | ||
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.xslt Transformatsioonifail 3] | |||
* [http://enos.itcollege.ee/~kkadalip/VR2PROJEKT/XSL-3.htm Transformatsioonifail 3 tulemus] | |||
==Teenus== | ==Teenus== | ||
... | Valminud teenuse meetodid: | ||
* '''User GetCurrentUser()''' - tagastab teenuse välja kutsunud kasutaja ''User'' objektina | |||
* '''bool RegisterUser(User user)''' - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise ''true/false'' | |||
* '''bool LoginUser(string username, string password)''' - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse | |||
* '''string GetUserRole(string username)''' - tagastab kasutaja rolli ''string''-ina. Kasutaja võib olla kas ''admin'' või ''user'' tüüpi | |||
* '''bool AddGun(Gun gun)''' - lisab ''Gun'' andmetüübi andmebaasiolemisse ''Gun''. Tagastab lisamise õnnestumise | |||
* '''string GetMd5Hash(string password)''' - muudab etteantud parooli räsiks, tagastab ''string''-i | |||
* '''bool VerifyMd5Hash(string input, string hash)''' - kontrollib räsi | |||
* '''ObservableCollection<string> GetAllCategories()''' - tagastab kõik kategooriad tabelist ''Gun'' ''ObservableCollection''-ina. | |||
* '''ObservableCollection<string> GetAllGategoryWeapons(string category)''' - tagastab ''ObservableCollection''-ina kõik relvad, mis kuuluvad etteantud kategooriasse | |||
* '''ObservableCollection<string> PopulateSpecs(string selectedGun)''' - tagastab kõik etteantud relva spetsifikatsioonid ''ObservableCollection''-ina | |||
* '''ObservableCollection<AddOn> GetAllAddOns()''' - tagastab kõik relvalisad ''ObservableCollection''-ina | |||
* '''ObservableCollection<Caliber> GetAllCalibers()''' - tagastab kõik kaliibrid ''ObservableCollection''-ina | |||
* '''ObservableCollection<Cartridge> GetAllCartridges()''' - tagastab kõik padrunid ''ObservableCollection''-ina | |||
* '''ObservableCollection<Gun> GetAllGuns()''' - tagastab kõik relvad ''ObservableCollection''-ina | |||
* '''ObservableCollection<GunBarrel> GetAllGunBarrels()''' - tagastab kõik relvatorud ''ObservableCollection''-ina | |||
* '''ObservableCollection<GunSize> GetAllGunSizes()''' - tagastab kõik relvasuurused ''ObservableCollection''-ina | |||
* '''ObservableCollection<GunWeight> GetAllGunWeights()''' - tagastab kõik relvakaalud ''ObservableCollection''-ina | |||
* '''ObservableCollection<ItemSize> GetAllItemSizes()''' - tagastab kõik ühikusuurused ''ObservableCollection''-ina | |||
* '''ObservableCollection<Magazine> GetAllMagazines()''' - tagastab kõik salved ''ObservableCollection''-ina | |||
* '''ObservableCollection<Manufacturer> GetAllManufacturers()''' - tagastab kõik relvatootjad ''ObservableCollection''-ina | |||
* '''ObservableCollection<MeasurementUnit> GetAllMeasurementUnits()''' - tagastab kõik mõõteühikud ''ObservableCollection''-ina | |||
* '''ObservableCollection<OtherWeapon> GetAllOtherWeapons()''' - tagastab kõik muud tüüpi relvad (mitte Gun) ''ObservableCollection''-ina | |||
* '''ObservableCollection<Rof> GetAllRofs()''' - tagastab kõik lasketihedused ''ObservableCollection''-ina | |||
* '''ObservableCollection<User> GetAllUsers()''' - tagastab kõik kasutajad ''ObservableCollection''-ina | |||
* '''ObservableCollection<ViewStatistic> GetAllViewStatistics()''' - tagastab kogu statistika ''ObservableCollection''-ina | |||
* '''bool AddStat(Gun gun, User user)''' - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab ''true/false'' vastavalt õnnestumisele | |||
==Klientrakendus== | |||
Klientrakendus on nii tavakasutajale kui ka administraatorile mõeldud rakendus, millega on võimalik andmebaasist lugeda andmeid erinevate relvade kohta. Tavakasutajal on võimalik end registreerida kasutajaks ja vaadata andmeid. Kasutajamugavuse mõttes on relvad jaotatud kategooriatesse. | |||
Administraatoril on võimalik andmeid vaadata ning neid ka muuta ja lisada. Administraatoril on mugavaks halduseks oma liides, mis erineb tavakasutaja omast märkimisväärselt. Kasutaja vaatamised salvestatakse ning administraatoril on võimalik vaadata ka statistikat selle kohta, mida mingi kasutaja on vaadanud ning kui mitu korda. | |||
==Allalaadimine== | |||
Valminud töö algkoodi/solutioni saab allalaadida lingilt: http://www.upload.ee/download/3368769/2d310056c999a3a1c47/XMLprojekt.zip | |||
==Logi== | ==Logi== | ||
=== | |||
===21.03.2013=== | |||
* Lõime WIKI lehe | * Lõime WIKI lehe | ||
* Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat) | * Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat) | ||
* Lisasime kommentaarid | |||
* Kirjutasime worktaske | |||
=== 22.03.2013 === | |||
* XML parsemisega tegelemine klientrakenduse poolel | |||
* kolmas XSL | |||
* XSL-ide parandamine | |||
=== 30.03.2013=== | |||
* Kirutasime retsensiooni meeskonna [[Talk:CSharpArt]] XML, XSLT ja XSD kohta. | |||
=== 12.04.2013 === | |||
* Esialgse WCF teenuse lisamine ning testimine | |||
=== 26.04.2103 === | |||
* Andmebaasimudelite lisamine | |||
* Teenuse testimine | |||
* Kõikide ''repository''-de ja nende ''interface''-de lisamine | |||
=== 29.04.2013 === | |||
* Andmebaasimudelite parandamine | |||
=== 30.04.2013 === | |||
* Andmebaasimudelite annotatsioonide lisamine | |||
=== 02.05.2013 === | |||
* ''Data access Layer''-i lisamine ja muutmine | |||
=== 07.05.2013 === | |||
* Andmebaasimudelite muutmine | |||
=== 08.05.2013 === | |||
* Andmebaasimudelite parandus | |||
=== 11.05.2013 === | |||
* MVC ja Ninject-iga tegelemine | |||
* Registreerimise akna loomine | |||
* Registreerimise funktsiooni arendamine | |||
* Login akna ja funktsionaalsuse loomine | |||
=== 13.05.2013 === | |||
* Relva kategooriate järgi navigeerimine kasutaja põhivaates | |||
* WPF poolne turvalisus | |||
=== 17.05.2013 === | |||
* ''Unit of Work'' klass | |||
=== 18.05.2013 === | |||
* Uus kujundus | |||
* Relva lisamise akna loomine | |||
* Parandatud AddUser ja AddGun toimimist, ''unit of work'' kasutusele võetud | |||
* Asünkroonne logimine ja registreerimine | |||
=== 20.05.2013 === | |||
* Relva lisamise funktsiooni parandamine, peaaegu töötab | |||
* Spagettkoodi eemaldamine | |||
=== 22.05.2013 === | |||
* Lisasime Admin paneeli nupud | |||
* Parandasime disaini | |||
* UserList akna lisamine | |||
=== 23.05.2013 === | |||
* XAMLiga tegelemine - parandasime klientrakenduse välimust | |||
=== 25.05.2013=== | |||
* Lisasime statistika kuvamise | |||
* Parandasime koodi välimust | |||
* Suurendasime koodi efektiivsust, spagettkoodi vähendamine | |||
=== 26.05.2013=== | |||
* Andsime enda klientrakendusele viimast lihvi | |||
* Parandasime toimivaks relvade lisamise loogika | |||
* Parandasime statistika kuvamist | |||
=== 26. | |||
* | |||
* | |||
* |
Latest revision as of 21:17, 8 June 2013
LIIKMED
- Karl Kadalipp
- Robert Pärn
Kodutöö XML osa
Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.
XML
Kirjeldus:
Meie .xml faili juurelemendiks on <relvad>, mis jagunevad omakorda kaheks: <käsitulirelvad> ja <külmrelvad>. Seda selleks, et oleks selgem eristada. <käsitulirelvad> jagunevad: element püstolid, automaadid, pumppüssid jne. Vastavalt on nende sees juba individuaalsed relvamudelid, näiteks element püstol, mille sees on antud relva tehnilised spetsifikatsioonid ning eripärad. Ka külmrelvad jagunevad alamliikidesse nagu <löögirelvad>, <torkerelvad> jne ning sisaldavad mõningaid andmeid. Atribuudid on tulirelvade alamliikide elementidel mõningad andmed, mis on ühised kõikidel tulirelvadel.
Link:
XML DTD
Kirjeldus:
DTD eesmärk on aidata .xml failis leida üles vigu ning üldstruktuuri parandada/defineerida.
Link:
XML Skeemifail (DTD põhjal)
XML Automaatgenereeritud skeemifail
XML Transformatsiooni failid:
Esimene
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.
Teine
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).
Kolmas
See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.
Teenus
Valminud teenuse meetodid:
- User GetCurrentUser() - tagastab teenuse välja kutsunud kasutaja User objektina
- bool RegisterUser(User user) - registreerib etteantud kasutaja, tagastab registreerimise õnnestumise true/false
- bool LoginUser(string username, string password) - logib kasutaja sisse. Kontrollib, kas antud kasutajanimi ja parool ühtivad andmebaasi andmetega, tagastab tõeväärtuse
- string GetUserRole(string username) - tagastab kasutaja rolli string-ina. Kasutaja võib olla kas admin või user tüüpi
- bool AddGun(Gun gun) - lisab Gun andmetüübi andmebaasiolemisse Gun. Tagastab lisamise õnnestumise
- string GetMd5Hash(string password) - muudab etteantud parooli räsiks, tagastab string-i
- bool VerifyMd5Hash(string input, string hash) - kontrollib räsi
- ObservableCollection<string> GetAllCategories() - tagastab kõik kategooriad tabelist Gun ObservableCollection-ina.
- ObservableCollection<string> GetAllGategoryWeapons(string category) - tagastab ObservableCollection-ina kõik relvad, mis kuuluvad etteantud kategooriasse
- ObservableCollection<string> PopulateSpecs(string selectedGun) - tagastab kõik etteantud relva spetsifikatsioonid ObservableCollection-ina
- ObservableCollection<AddOn> GetAllAddOns() - tagastab kõik relvalisad ObservableCollection-ina
- ObservableCollection<Caliber> GetAllCalibers() - tagastab kõik kaliibrid ObservableCollection-ina
- ObservableCollection<Cartridge> GetAllCartridges() - tagastab kõik padrunid ObservableCollection-ina
- ObservableCollection<Gun> GetAllGuns() - tagastab kõik relvad ObservableCollection-ina
- ObservableCollection<GunBarrel> GetAllGunBarrels() - tagastab kõik relvatorud ObservableCollection-ina
- ObservableCollection<GunSize> GetAllGunSizes() - tagastab kõik relvasuurused ObservableCollection-ina
- ObservableCollection<GunWeight> GetAllGunWeights() - tagastab kõik relvakaalud ObservableCollection-ina
- ObservableCollection<ItemSize> GetAllItemSizes() - tagastab kõik ühikusuurused ObservableCollection-ina
- ObservableCollection<Magazine> GetAllMagazines() - tagastab kõik salved ObservableCollection-ina
- ObservableCollection<Manufacturer> GetAllManufacturers() - tagastab kõik relvatootjad ObservableCollection-ina
- ObservableCollection<MeasurementUnit> GetAllMeasurementUnits() - tagastab kõik mõõteühikud ObservableCollection-ina
- ObservableCollection<OtherWeapon> GetAllOtherWeapons() - tagastab kõik muud tüüpi relvad (mitte Gun) ObservableCollection-ina
- ObservableCollection<Rof> GetAllRofs() - tagastab kõik lasketihedused ObservableCollection-ina
- ObservableCollection<User> GetAllUsers() - tagastab kõik kasutajad ObservableCollection-ina
- ObservableCollection<ViewStatistic> GetAllViewStatistics() - tagastab kogu statistika ObservableCollection-ina
- bool AddStat(Gun gun, User user) - lisab ViewStatistic tabelisse kasutaja ja user objekti, tagastab true/false vastavalt õnnestumisele
Klientrakendus
Klientrakendus on nii tavakasutajale kui ka administraatorile mõeldud rakendus, millega on võimalik andmebaasist lugeda andmeid erinevate relvade kohta. Tavakasutajal on võimalik end registreerida kasutajaks ja vaadata andmeid. Kasutajamugavuse mõttes on relvad jaotatud kategooriatesse.
Administraatoril on võimalik andmeid vaadata ning neid ka muuta ja lisada. Administraatoril on mugavaks halduseks oma liides, mis erineb tavakasutaja omast märkimisväärselt. Kasutaja vaatamised salvestatakse ning administraatoril on võimalik vaadata ka statistikat selle kohta, mida mingi kasutaja on vaadanud ning kui mitu korda.
Allalaadimine
Valminud töö algkoodi/solutioni saab allalaadida lingilt: http://www.upload.ee/download/3368769/2d310056c999a3a1c47/XMLprojekt.zip
Logi
21.03.2013
- Lõime WIKI lehe
- Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)
- Lisasime kommentaarid
- Kirjutasime worktaske
22.03.2013
- XML parsemisega tegelemine klientrakenduse poolel
- kolmas XSL
- XSL-ide parandamine
30.03.2013
- Kirutasime retsensiooni meeskonna Talk:CSharpArt XML, XSLT ja XSD kohta.
12.04.2013
- Esialgse WCF teenuse lisamine ning testimine
26.04.2103
- Andmebaasimudelite lisamine
- Teenuse testimine
- Kõikide repository-de ja nende interface-de lisamine
29.04.2013
- Andmebaasimudelite parandamine
30.04.2013
- Andmebaasimudelite annotatsioonide lisamine
02.05.2013
- Data access Layer-i lisamine ja muutmine
07.05.2013
- Andmebaasimudelite muutmine
08.05.2013
- Andmebaasimudelite parandus
11.05.2013
- MVC ja Ninject-iga tegelemine
- Registreerimise akna loomine
- Registreerimise funktsiooni arendamine
- Login akna ja funktsionaalsuse loomine
13.05.2013
- Relva kategooriate järgi navigeerimine kasutaja põhivaates
- WPF poolne turvalisus
17.05.2013
- Unit of Work klass
18.05.2013
- Uus kujundus
- Relva lisamise akna loomine
- Parandatud AddUser ja AddGun toimimist, unit of work kasutusele võetud
- Asünkroonne logimine ja registreerimine
20.05.2013
- Relva lisamise funktsiooni parandamine, peaaegu töötab
- Spagettkoodi eemaldamine
22.05.2013
- Lisasime Admin paneeli nupud
- Parandasime disaini
- UserList akna lisamine
23.05.2013
- XAMLiga tegelemine - parandasime klientrakenduse välimust
25.05.2013
- Lisasime statistika kuvamise
- Parandasime koodi välimust
- Suurendasime koodi efektiivsust, spagettkoodi vähendamine
26.05.2013
- Andsime enda klientrakendusele viimast lihvi
- Parandasime toimivaks relvade lisamise loogika
- Parandasime statistika kuvamist