WpfExample/TimeScheduler/Readme.txt

48 lines
2.5 KiB
Text
Raw Permalink Normal View History

Beispielprojekt f<>r die Anwendung von WPF.
Anforderung:
Mit der Applikation soll die Arbeitszeit automatisiert erfast und permanent gespeichert werden.
Daf<61>r wird pro Zeiteinheit ein Element angelegt, das folgenden Eigenschaften besitzt:
- Beschreibung des Elementes
- Von-Zeitpunkt (1/4h genau)
- Bis-Zeitpunkt (1/4h genau)
- Kostenstelle
- Typ (Normal, Pause, Urlaub, Krank)
Die Darstellung des Elementes soll vom Typ abh<62>ngig sein, z.B. Hintergrundfarbe ist normal blau und bei Pause gelb.
Es sollen nicht immer alle Elemente dargestellt werden, sondern nur die das selektieren Tages.
Die aktuelle Arbeitszeit, soll graphisch markiert sein, und deren Endezeit soll automatisch angepasst werden.
Beim Sperren/Ruhezustand soll autmoatisch die aktuelle Arbeitszeit abgeschlossen werden und eine neue gestartet
werden, aber nur wenn die aktuelle Arbeitszeit > 15min ist.
<20>ber ein Men<65> (z.B. Kontextmen<65>) erstellt man eine neue aktuelle oder l<>scht eine vorhandene. Zur Einfachheit
darf man die aktuelle Arbeitszeit nicht l<>schen.
Desweitern soll man die selektierte Arbeitszeit mit der n<>chsten Arbeitszeit verschmelzen k<>nnen, wobei nur die
Endezeit auf das selektierte Objekt <20>bernommen wird.
Um einen <20>berblick <20>ber die Daten zu bekommen, soll es eine Diagnoseoberfl<66>che geben, in der man
Beim Start wird die zuletzt gespeicherten Daten geladen und die letzte Arbeitszeit des aktuellen Tages wird als
aktuelle Arbeitszeit hergenommen. Bei <20>nderungen an den Arbeitszeiten, sollen diese direkt permanent gespeichert
werden, sp<73>testens beim beenden der Anwendung.
Das speichern sollte sehr robust werden, damit die Datei nicht zerst<73>rt werden, wenn w<>hrend des speichern die
Anwendung abst<73>rzt.
Zur Implementierung soll WPF mit dem MVVM-Pattern benutzt werden
Erweiterte Funktionalti<74>t:
- Bei Sperrungen/Ruhezust<73>nde <20>ber 8h soll das Element nicht als Arbeitzeit gelten sondern entfernt werden
- Es erscheint eine Nachfrage nach einer Entsperrung/Aufwachen (aus Ruhezustand) wie die Zeit seit der
letzten Sperrung/Ruhezustand eingetragen werden soll
- Kostenstellen-Editor einbauen
- Die Kostenstellen in Task aufteilen
Beschreibung der Struktur:
- Oberfl<66>chen sind direkt in der Root
- ViewModel: die ViewModels f<>r die Oberfl<66>chen
- Resource: Resourcen die ben<65>tigt werden
- Model: Klassen, die die Datenbest<73>nde beinhalten
- Domain: Schnittstellen und Implementierungen f<>r die Datenbeschaffung
- Common: Allgmeine Klassen die in jeder WPF-Anwendung ben<65>tigt werden