2015 API

Mauchle Joël

Interne Zeiterfassung in C# mit SQL-Server 2008R2 Anbindung

Durchführung: 20.04.2015 bis 22.05.2015

CorTime - Zeiterfassungsoftware

Einleitung
Die interne Zeiterfassungsoftware der Corona Informatik AG ist eine Eigenentwicklung in Microsoft Access die mittels ODBC auf eine SQL-Server 2008 Datenbank zugreift.
Sie soll im Zuge dieses Projektes durch eine modernere Lösung in C# und mit einer angepassten Datenbank ersetzt werden. Die neu entwickelte Lösung wird in einem ersten Schritt die Grundfunktionalitäten einer Zeiterfassung abdecken, damit auf dieser Basis die volle Funktionalität der bestehenden Lösung portiert werden kann.

Umsetzung
Die neu entwickelte Zeiterfassung der Corona Informatik AG sollte nicht nur oberflächlich modernisiert werden, auch die Datenbank und die Programmlogik waren Teilweise veraltet. Im Zuge dieser IPA wurde die Datenbank soweit angepasst, dass sie nun nicht nur die referentielle Integrität unterstützt sondern auch eine direkte Verbindung zum Ticketsystem besitzt, um den Aufbau der Applikation zu vereinfachen. Weiter wurden in der Datenbank Datentypen und Spaltennamen gemäss den neuen Firmenrichtlinien angepasst.
Die Applikation selbst wurde in der Programmiersprache C# unter Zuhilfenahme des firmeninternen Frameworks entwickelt.

Beim Start der Applikation wird der Mitarbeiter aufgrund des Windowslogins angemeldet und sieht gleich unterhalb der Datumsnavigation die eingetragenen Zeiten aufgrund des Datums in der Datumsanzeige. Mit den Buttons unterhalb der Eintragsanzeige (Neuer Eintrag, Eintrag löschen und Abbrechen) können Einträge gelöscht, neue erstellt oder das Programm geschlossen werden, mittels Rechtsklick auf die Eintragsanzeige können die Menüpunkte verschieben und kopieren erreicht werden.
Durch einen Doppelklick auf einen Eintrag kann die Detailauswahl geöffnet und der Eintrag bearbeitet werden.


Funktionalität
- Automatische Mitarbeiterauswahl aufgrund Windowslogin
- Feriensaldo anzeige
- Tagessollzeit anzeige
- Zeitsaldo anzeige
- Neuer Zeiteintrag erstellen
- Beginnzeit und Endzeit als optionale Eingabe
- Interne Zeit in Stunden mit 2 Nachkommastellen (0.25 = 15 Minuten)
- Externe Zeit in Stunden mit 2 Nachkommastellen (0.25 = 15 Minuten)
- Kundenauswahl
- Projektauswahl
- Aufgabenauswahl
- Kontaktperson Kunde
- Verrechenbarkeit des Zeiteintrags
- Einem Zeiteintrag muss es möglich sein ein Ticket zuweisen damit die Zeiten direkt mit dem Ticket in Verbindung gebracht werden können.
- Zeitartauswahl (Arbeit, Ferien, Krankheit usw.)
- Detail extern
- Detail intern
- Einträge kopieren über mehrere Tage (für zB. Ferien)
- Einträge löschen
- Einträge verschieben