Tato úloha má procvičit následující oblasti učiva:
Vytvořte program určený k tvorbě servisního protokolu. Servisní protokol je záznam o provedení měření (revizní zpráva). V programu bude protokol na rozdíl od skutečného obsahovat pouze zjednodušené atributy. Popis atributů a datové typy jsou uvedeny v sekci Datový model.
Speciálním atributem servisního protokolu je metoda Passed(), která podle výsledků jednotlivých měření rozhodne, zda zařízení splňuje požadavky pro další provoz či nikoliv. Zařízení splňuje požadavky pro další provoz pouze tehdy, je-li každé měření na protokolu vyhovující, tj. pouze v případě, že vlastnost Pass každého měření je pravdivá (true).
Servisní protokol se vyhotovuje pro jedno zařízení, které patří určitému zákazníkovi. Na zařízení se měří vždy několik hodnot.
V zadání vystupuje několik entit, pro které definujeme business objekty:
Vlastnost | Typ dat | Popis | ReportNo | text | Číslo protokolu |
---|---|---|
MeasurementDate | datum | Datum měření |
Customer | Customer | Zákazník, pro kterého se revize provádí (objekt) |
Appliance | Appliance | Zařízení, jehož revize se provádí (objekt) |
Measurements | kolekce objektů typu Measurement | Jednotlivá měření (měření hodnot různých parametrů) (kolekce objektů) |
Vlastnost | Typ dat | Popis |
---|---|---|
Name | text | Název (firmy, organizace apod.) |
Address | text | Adresa |
ZipCode | text | PSČ |
ICNumber | text | Identifikační číslo (IČO) |
Vlastnost | Typ dat | Popis |
---|---|---|
Manufacturer | text | Výrobce |
Model | text | Model zařízení |
SerialNumber | text | Sériové číslo zařízení |
Vlastnost | Typ dat | Popis |
---|---|---|
Parameter | text | Měřený parametr |
MeasuredValue | desetinné číslo | Naměřená hodnota |
Unit | text | Fyzikální jednotka, ve které měříme daný parametr |
Pass | ano/ne | True :-: naměřená hodnota vyhovuje požadavkům na provozuschopnost zařízení, false :-: naměřená hodnota nevyhovuje |
Všechny atributy programu bude možné editovat. Editace se bude provádět pomocí patřičných formulářů. Každá položka musí být opatřena příslušnou validací (validace položky) a zároveň celý formulář nesmí být odeslán bez kontroly (validace formuláře).
Každé pole v protokolu je povinné, proto žádná položka nesmí být prázdná.
Tvar PSČ musí být např. "130 00" (s mezerou mezi 3. a 4. číslicí). Všechny znaky jsou číslice (plus ta mezera).
Identifikační číslo (IČO) musí mít přesně 6 číslic.
Program bude poskytovat možnost tiskového náhledu servisního protokolu. Náhled bude realizován takovým způsobem, že se do samostatného formulářového okna vykreslí pomocí GDI+ knihovny protokol včetně vyplněných hodnot. Náhled bude respektovat velikost okna a obsah bude vykreslen i po překrytí jiným oknem.
Program provede export protokolu do HTML souboru. HTML soubor bude po stránce designu stejný jako v případě tiskového náhledu. Generovaný HTML kód musí být validní podle patřičné verze HTML. Pro úpravu vzhledu dokumentu použijte CSS. Před exportem nabídne program uživateli možnost výběru cesty a názvu cílového souboru.
Příklad servisního protokolu exportovaného do HTML je zde.
Data k protokolu se budou ukládat do relační databáze. K jejich uložení využijete ORM a Entity Framework.