Changes to the C sharp part of the doku

This commit is contained in:
Ismail 2017-08-27 12:05:20 +02:00
parent 2d216b9721
commit e1f734b2b3
1 changed files with 43 additions and 41 deletions

View File

@ -367,7 +367,7 @@ um den Fortschritt im Auge zu behalten. \\ \hline
User Stories & Doku & 2 & 2 & 0 & \ \\ \hline
RM erstellen & Doku & 3 & 4 & 1 & Beim RM haben wir viel weniger Details
eingezeichnet sondern uns Hauptsächlich darauf beschränkt uns eine
grobe Übersicht zu verschafen. \\ \hline
grobe Übersicht zu verschaffen. \\ \hline
ERM erstellen & Doku & 4 & 12 & 8 & \ \\ \hline
Testplan aufgebaut & Doku & 12 & 1 & -11 & \ \\ \hline
SQL Scripts erstellen & Code & 7 & 7.9 & 0.9 & Das erstellen der Testdaten
@ -571,12 +571,12 @@ der Datenbank aufzeigen.
\end{figure}
\paragraph{Dashboard}
Auf dem Dashboard haben wir unseren Kern was Informationen herauslesen
Auf dem Dashboard haben wir den Kern was Informationen herauslesen
und wieder Eingeben belangt, erstellt. In dieser Klasse werden die aus
der Datenbank herausgelesenen Daten der ``locations'' und
``rents'' Tabellen im GUI aufgezeigt und /oder eingefügt. Damit
möchten wir einen Teil der finalen Applikation und Datenbank abbilden mit
dem, die Benutzer Standorte heraussuchen und den Mietbeginn eingegeben können.
möchten wir einen Teil der finalen Applikation und Datenbank abbilden mit dem, die Benutzer Standorte heraussuchen und den Mietbeginn eingegeben können.
Um unsere Demo-Applikation simpel zu halten, kann ein Mitglied nach dem Registrieren und Einloggen die vom Verwalter hinzugefügten Standorte heraussuchen, sie dann in unsere Mietbox schieben und nach dem wählen des gewünschten Zeitpunktes den Standort mieten.
\begin{figure}[H]
\centering
@ -587,9 +587,10 @@ dem, die Benutzer Standorte heraussuchen und den Mietbeginn eingegeben können.
\paragraph{DataAccess}
Mit der DataAccess Klasse konnten wir nahezu alle Datenbank relevanten
Funktionen, die in unserem GUI ausgeführt werden, in einer
einzigen Klasse abbilden. Darin haben wir den Aufruf der
Datenbanktabellen mit den dazu benötigten SQL - Befehlen ausgeführt.
Dadurch wird SQL- Code nur in dieser Klasse aufgerufen und verwendet.
einzigen Klasse abbilden.
Darin haben wir den Aufruf der Datenbanktabellen mit den dazu benötigten SQL - Befehlen ausgeführt.
Dadurch wird SQL- Code so gut wie nur in dieser Klasse aufgerufen und diesbezüglich verwendet.
Unter anderem wird auch der Login des Benutzers darin geprüft.
\begin{figure}[H]
\centering
@ -597,26 +598,15 @@ Dadurch wird SQL- Code nur in dieser Klasse aufgerufen und verwendet.
\caption{DataAccess Klasse}
\end{figure}
\paragraph{GetRents}
Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in
C\# eine Klasse die der ``rents'' Tabelle in der DB entspricht
erstellt. Damit nehmen wir jede Spalte der Tabelle entgegen. Danach
werden mit der ``RentInfo'' Methode nur diejenigen Spalten der Tabelle
für unser GUI abgerufen, die wir auch wirklich benötigen.
\paragraph{Get-"Klassen"}
\begin{figure}[H]
\centering
\includegraphics[scale=0.7]{diagrammes/getrents.png}
\caption{GetRents Klasse}
\end{figure}
\paragraph{GetMembers}
Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in
C\# ein Modell der ``members'' Tabelle erstellt die sie abbildet. Damit
nehmen wir jede Spalte der Tabelle entgegen. Danach werden mit der
``MemberInfo'' Methode nur diejenigen Spalten der Tabelle für unser GUI
abgerufen, die wir auch wirklich benötigen,um die Login Daten zu
überprüfen.
C\# Modelle der ''locations'', ''rents'' und ''members'' erstellt, die sie
abbildet.
Damit nehmen die dazu benötigten Spalten der jeweiligen Tabellen entgegen.
Danach werden die benötigten Datensätze mit den ''Methoden-Info''s der derweiligen
Klasse aufgerufen.
Die ''GetMembers'' Klassen wird für die Registration und den Login der Mitglieder benötigt:
\begin{figure}[H]
\centering
@ -624,12 +614,16 @@ abgerufen, die wir auch wirklich benötigen,um die Login Daten zu
\caption{GetMembers Klasse}
\end{figure}
\paragraph{GetLocations}
Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in
C\# ein Modell der ``locations'' Tabelle erstellt die sie abbildet. Damit
nehmen wir jede Spalte der Tabelle entgegen. Danach werden mit der
``LocationInfo'' Methode nur diejenigen Spalten der Tabelle für unser
GUI abgerufen, die wir auch wirklich benötigen.
Die ''GetRents'' Klasse für`s Mieten und Abbilden der jeweiligen Märkte:
\begin{figure}[H]
\centering
\includegraphics[scale=0.7]{diagrammes/getrents.png}
\caption{GetRents Klasse}
\end{figure}
Die ''GetLocations'' Klasse für das Herauslesen der Märkte um dem Mitglied alle
im Moment hinzugefügten Mietoptionen darzubieten:
\begin{figure}[H]
\centering
@ -641,23 +635,31 @@ GUI abgerufen, die wir auch wirklich benötigen.
\begin{itemize}
\item Verbindungsaufbau
Der Verbindungsaufbau zur Datenbank musste immer an den jeweiligen
Test-Anwender der Datenbank angepasst werden.
\item Insert Data
\item Datenformatierung (Geburtstag)
Nach den ersten Test's wurde uns klar, dass wir ein Problem mit den jeweiligen ID's hatten.
Der Fehler kam erst ans Licht, als wir anfingen die jeweiligen ''locations und ''members''- ID's durch das GUI einzufügen.
\end{itemize}
\subsubsection{Referenzen und Addons/ Packages}
Für Dapper \cite{dbcs6} entschieden haben wir uns, nachdem wir ein wenig
nachgeforscht haben und wir auf Stack Overflow fündig wurden. Da auf
dieser Webseite Dapper genutzt wird und wir bisher immer gute
Erfahrungen mit Stack Overflow hatten, schien die Entscheidung
einfach.
\subsubsection{Referenzen}
Dapper \cite{dbcs6} ist ein simpler "object mapper" für .NET.
Wir nutzen ihn anstelle von einem ADO.NET data reader da er nütziche Erweiterungen bei unserer IDbConnection bietet, indem er Erweiterungsmethoden zur Datenbankabfrage bietet.
Dapper erweitert unsere IDbConnection verwendung mit mehreren Methoden wie :
\begin{itemize}
\item using System.Configuration;
\item using Dapper;
\item Execute
\item Query
\item QueryFirst
\item QueryFirstOrDefault
\item QuerySingle
\item QuerySingleOrDefault
\item QueryMultiple
\end{itemize}
Weiter Infos unter : http://dapper-tutorial.net/dapper
\newpage
\begin{landscape}