From e1f734b2b3c1da9f17c2b971e0400b34ced93949 Mon Sep 17 00:00:00 2001 From: Ismail Date: Sun, 27 Aug 2017 12:05:20 +0200 Subject: [PATCH] Changes to the C sharp part of the doku --- doku/content.tex | 84 +++++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/doku/content.tex b/doku/content.tex index 42e8373..8b007e3 100644 --- a/doku/content.tex +++ b/doku/content.tex @@ -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}