pa2.Testat/README.md

94 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2020-05-22 09:28:47 +02:00
# 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 |
## NuGet
2020-07-21 22:20:25 +02:00
### Voraussetzungen
MySQL-Server 8.20
2020-05-30 19:44:40 +02:00
### 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
<Window x:Class="WpfLoggingClient.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfLoggingClient"
mc:Ignorable="d"
xmlns:views="clr-namespace:LoggingClient.Views;assembly=LoggingClient"
Title="MainWindow" Height="450" Width="800" ResizeMode="NoResize">
<Grid>
<views:LogView x:Name = "LogView"/>
</Grid>
</Window>
```
Ä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 |
2020-05-22 09:28:47 +02:00
## Obert Equality
2020-07-21 22:20:25 +02:00
Funktionserweiterung zu NuGet. Gleiches vorgehen mit Check für Duplikate hinzugefügt. Matching Keys sind *`Severity`* und *`Text`*.
Button Erklärung:
2020-05-22 09:28:47 +02:00
2020-07-21 22:20:25 +02:00
| 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. |
2020-05-22 09:28:47 +02:00
## Generics
2020-08-26 18:10:12 +02:00
Die Ganze Architektur auf Generics umgeschrieben.
2020-05-22 09:28:47 +02:00
## LINQ
2020-08-26 18:10:12 +02:00
Implementierung von einem Radiobutton um die Möglichkeit zu haben die DB-Abragen via LINQ to SQL zu tätigen.
2020-05-22 09:28:47 +02:00
## RegEx
2020-08-26 18:10:12 +02:00
Die Felder `Email`, `URL`, `Passwort` und `CustomerNumber` folgen die Constraint der Aufgabenstellung.
2020-05-22 09:28:47 +02:00
2020-08-26 18:10:12 +02:00
Email: Gültige Mailadresse
2020-05-22 09:28:47 +02:00
2020-08-26 18:10:12 +02:00
URL: Verschiedene Schreibweisen mit, ohne https:// und mit und ohne Querystrings.
2020-05-22 09:28:47 +02:00
2020-08-26 18:10:12 +02:00
Passwort: 8 - 15 Zeichen, min 1 Gross-, 1 Kleinbuchstabe, 1 Zahl und 1 Sonderzeichen.
2020-05-22 09:28:47 +02:00
2020-08-26 18:10:12 +02:00
CustomerNumber: Beginnend mit CU und folgt von 5 Zahlen.
## Inversion of Control
2020-05-22 09:28:47 +02:00
2020-09-16 20:22:39 +02:00
Inversion of Control wurde mit der AutoFac Libary umgesetzt.
2020-05-22 09:28:47 +02:00
2020-09-16 20:22:39 +02:00
Container wird im NavigationViewModel ersellt um die übrigen ViewModel zu implementieren. Dafür wurde eine Neue Klasse `Builder` erstellt.