# Projektaufgabe 6. Semester [toc] ## Abgabetermine | Projektaufgabe | Abgabe | | -------------------------- | ----------------------------- | | NuGet | Sonntag, 31. Mai 23:55 | | Object Equality | Montag, 15. Juni 23:55 | | Generics | Dienstag, 30. Juni 23:55 | | LINQ | Samstag, 15. August 23:55 | | RegEx | Sonntag, 30. August 23:55 | | Inversion of Control | Dienstag, 15. September 23:55 | | Reflection & Serialization | Dienstag, 15. September 23:55 | ## NuGet ### Voraussetzungen MySQL-Server 8.20 ### Usage Installiere neuste [LoggingClient](https://www.nuget.org/packages/LoggingClient/) Version von nuget.org In deiner WPF-Application kannst du mit dem unteren Code-Snipped diese Library verwenden: `MainWindow.xaml` ```xaml ``` Ändere **DB-Name** und **Passwort** mit deine Angaben. Button Erklärung: | Button | Beschreibung | | --------- | ------------------------------------------------------- | | Load Data | Ladet alle Daten aus der DB in der Tabelle v_logentries | | Add | Mittels Textfelder kann man neue LogEntries hinzufügen | | Confirm | Wird einen LogEntrie quittiert/gelöscht | ## Obert Equality Funktionserweiterung zu NuGet. Gleiches vorgehen mit Check für Duplikate hinzugefügt. Matching Keys sind *`Severity`* und *`Text`*. Button Erklärung: | Button | Beschreibung | | -------------- | ------------------------------------------------------- | | Load Data | Ladet alle Daten aus der DB in der Tabelle v_logentries | | Add | Mittels Textfelder kann man neue LogEntries hinzufügen | | Confirm | Wird einen LogEntrie quittiert/gelöscht | | Find Duplicate | Findet LogEntrie Doubletten. | ## Generics Die Ganze Architektur auf Generics umgeschrieben. ## LINQ Implementierung von einem Radiobutton um die Möglichkeit zu haben die DB-Abragen via LINQ to SQL zu tätigen. ## RegEx Die Felder `Email`, `URL`, `Passwort` und `CustomerNumber` folgen die Constraint der Aufgabenstellung. Email: Gültige Mailadresse URL: Verschiedene Schreibweisen mit, ohne https:// und mit und ohne Querystrings. Passwort: 8 - 15 Zeichen, min 1 Gross-, 1 Kleinbuchstabe, 1 Zahl und 1 Sonderzeichen. CustomerNumber: Beginnend mit CU und folgt von 5 Zahlen. ## Inversion of Control