Projektdokumentation zur fächerüber - Rudolf-Diesel

Werbung
Projektdokumentation Frisc
Thomas Dudek
Frisc
Die Friseurverwaltung
Projektdokumentation zur fächerübergreifenden Projektarbeit der Fächer
Datenbanken, Objekt- und strukturierte
Programmierung.
Thomas Dudek
IAV 4
Rudolf-Diesel-Fachschule für Techniker Nürnberg
Seite 1 von 51
Projektdokumentation Frisc
Thomas Dudek
Inhalt
1.
2.
Projektbeschreibung ......................................................................................................................................................... 4
1.1
Kundenverwaltung .................................................................................................................................................. 4
1.2
Mitarbeiterverwaltung ............................................................................................................................................ 4
1.3
Produktverwaltung ................................................................................................................................................. 4
1.4
Farbenverwaltung ................................................................................................................................................... 5
1.5
Frisurverwaltung ..................................................................................................................................................... 5
1.6
Gutscheinverwaltung .............................................................................................................................................. 5
1.7
Rechnungsverwaltung ............................................................................................................................................. 5
1.8
Rechnungserstellung ............................................................................................................................................... 5
Lösungsstrategien/Umsetzung ......................................................................................................................................... 6
2.1
3.
Benutzerdokumentation................................................................................................................................................... 7
3.1
Systemvoraussetzungen ......................................................................................................................................... 7
3.2
Clientprogramme .................................................................................................................................................... 7
3.2.1
Installation von Xampp .................................................................................................................................. 7
3.2.2
Einbinden der Datenbank .............................................................................................................................. 7
3.2.3
Installation von Frisc ...................................................................................................................................... 8
3.2.4
Starten des Programms ................................................................................................................................. 9
3.3
Bedienung von Frisc ................................................................................................................................................ 9
3.3.1
Menüpunkt Datei .......................................................................................................................................... 9
3.3.2
Menüpunkt Verwaltung .............................................................................................................................. 10
3.3.3
Menüpunkt Rechnung ................................................................................................................................. 13
3.3.4
Menüpunkt ? ............................................................................................................................................... 13
3.3.5
Kunde/Mitarbeiter/Farben/Frisuren/Gutschein suchen ............................................................................. 14
3.3.6
Kunde anlegen / Kundendetails .................................................................................................................. 15
3.3.7
Mitarbeiter anlegen / Mitarbeiterdetails .................................................................................................... 16
3.3.8
Farbe anlegen / Farbendetails ..................................................................................................................... 16
3.3.9
Frisur anlegen / Frisurdetails ....................................................................................................................... 17
3.3.10
Gutschein anlegen /Gutscheindetails .......................................................................................................... 17
3.3.11
Produkt suchen ........................................................................................................................................... 18
3.3.12
Produkt anlegen / Produktdetails ............................................................................................................... 19
3.3.13
Produktlinie anlegen / Produktliniendetails ................................................................................................ 19
3.4
4.
Dauer des Projekts .................................................................................................................................................. 6
Rechnungserstellung ............................................................................................................................................. 20
3.4.1
Nachlass per Eingabe................................................................................................................................... 21
3.4.2
Rechnung suchen ........................................................................................................................................ 22
Entwicklerdokumentation .............................................................................................................................................. 22
4.1
Entwicklungsumgebung, Programmiersprache und Clientprogramme ................................................................ 22
4.2
Datenbank ............................................................................................................................................................. 22
4.2.1
Seite 2 von 51
Tabellen der Datenbank .............................................................................................................................. 23
Projektdokumentation Frisc
4.2.2
Relationenschema ....................................................................................................................................... 24
4.2.3
Quellcode der Datenbank............................................................................................................................ 24
4.3
Form Übersicht ..................................................................................................................................................... 27
4.3.1
Form Browser .............................................................................................................................................. 27
4.3.2
Form Browser_klein .................................................................................................................................... 27
4.3.3
Form Main ................................................................................................................................................... 28
4.4
UserControl Übersicht .......................................................................................................................................... 30
4.4.1
UserControl Farbe_details........................................................................................................................... 30
4.4.2
UserControl Farben_suchen ........................................................................................................................ 31
4.4.3
UserControl Frisur_details ........................................................................................................................... 31
4.4.4
UserControl Frisur_suchen .......................................................................................................................... 33
4.4.5
UserControl GridView_letzte_Rechnungen................................................................................................. 33
4.4.6
UserControl Gutschein_Details ................................................................................................................... 34
4.4.7
UserControl Gutschein_suchen ................................................................................................................... 34
4.4.8
UserControl Kunde_auswahl ....................................................................................................................... 35
4.4.9
UserControl Kunde_suchen ......................................................................................................................... 36
4.4.10
UserControl Kunden_details ....................................................................................................................... 37
4.4.11
UserControl Mitarbeiter_auswahl............................................................................................................... 37
4.4.12
UserControl Mitarbeiter_details ................................................................................................................. 38
4.4.13
UserControl Mitarbeiter_suchen ................................................................................................................ 39
4.4.14
UserControl Produkt_details ....................................................................................................................... 39
4.4.15
UserControl Produkt_suchen ...................................................................................................................... 40
4.4.16
UserControl Produktlinie_anlegen .............................................................................................................. 41
4.4.17
UserControl Rabatteingabe ......................................................................................................................... 42
4.4.18
UserControl Rechnung_erstellen ................................................................................................................ 42
4.4.19
UserControl Rechnung_suchen ................................................................................................................... 44
4.4.20
UserControl Startform ................................................................................................................................. 45
4.5
5.
Thomas Dudek
Klassenübersicht ................................................................................................................................................... 45
4.5.1
Klasse dbHandler ......................................................................................................................................... 45
4.5.2
Klasse Farbe ................................................................................................................................................. 46
4.5.3
Klasse Frisur ................................................................................................................................................. 46
4.5.4
Klasse Gutschein .......................................................................................................................................... 47
4.5.5
Klasse Kunde ............................................................................................................................................... 47
4.5.6
Klasse Mitarbeiter ....................................................................................................................................... 48
4.5.7
Klasse Produkt ............................................................................................................................................. 49
4.5.8
Klasse Produktlinie ...................................................................................................................................... 49
4.5.9
Klasse Rechnung_drucken ........................................................................................................................... 50
4.5.10
Klasse Rechnungen ...................................................................................................................................... 50
Quellen ........................................................................................................................................................................... 51
Seite 3 von 51
Projektdokumentation Frisc
1.
Thomas Dudek
Projektbeschreibung
Ziel des Projekts ist eine funktionsfähige Software für den Einsatz in einem Friseursalon. Die
Software soll die Möglichkeit bieten, Kunden, Mitarbeiter, Produkte-/Produktlinien, Gutscheine, Dienstleistungen (Schnitte, Farben) und Rechnungen zu verwalten. Rechnungen
können per Mausklick erstellt, gespeichert und ausgedruckt werden.
1.1 Kundenverwaltung
Im Bereich der Kundenverwaltung werden die Kunden mit Hilfe einer Datenbank gespeichert.
Es soll die Möglichkeit bestehen, Kunden zu suchen, zu ändern, neue Kunden anzulegen und
Kunden löschen zu können. Wird ein Kunde per Doppelklick oder durch einen Auswahlbutton
ausgewählt, werden die Details des Kunden angezeigt und er kann bearbeitet werden. Des
Weiteren werden die letzten drei Rechnungen angezeigt. Diese können ausgedruckt werden.
Von den Kunden werden folgende Attribute in der Datenbank gespeichert:
- Vorname
- Nachname
- Anschrift
- Geburtstag
- Geschlecht
- Bemerkung
1.2 Mitarbeiterverwaltung
Im Bereich der Mitarbeiterverwaltung werden die Mitarbeiter mit Hilfe einer Datenbank gespeichert. Es soll die Möglichkeit bestehen, Mitarbeiter zu suchen, zu ändern, neue
Mitarbeiter anzulegen und Mitarbeiter löschen zu können. Wird ein Mitarbeiter per Doppelklick oder durch einen Auswahlbutton ausgewählt, werden die Details des Mitarbeiters angezeigt und er kann bearbeitet werden. Von den Mitarbeitern werden folgenden Attribute in
der Datenbank gespeichert:
- Vorname
- Nachname
1.3 Produktverwaltung
Im Bereich der Produktverwaltung werden die Produkte und die dazugehörige Produktlinie
(Hersteller) mit Hilfe einer Datenbank gespeichert. Es soll die Möglichkeit bestehen, sowohl
Produkte als auch Produktlinien zu suchen, zu ändern, neu anzulegen und löschen zu können.
Wird ein Produkt per Doppelklick oder durch einen Auswahlbutton ausgewählt, werden die
Details des Produkts angezeigt und es kann bearbeitet werden. Für das Anlegen eines Produktes und einer Produktlinie stehen verschiedene Eingabemasken zur Verfügung. Wird eine
Produktlinie gelöscht, werden die dazugehörigen Produkte automatisch aus dem System
entfernt. Von Produkten werden folgende Attribute in der Datenbank gespeichert:
- Bezeichnung
- Bestand
- Preis
- Verweis auf die Produktlinie
In der Tabelle Produktlinie wird nur die Bezeichnung gespeichert.
Seite 4 von 51
Projektdokumentation Frisc
Thomas Dudek
1.4 Farbenverwaltung
Im Bereich der Farbenverwaltung werden die Farben mit Hilfe einer Datenbank gespeichert.
Es soll die Möglichkeit bestehen, Farben zu suchen, zu ändern, neue Farben anzulegen und
Farben löschen zu können. Wird eine Farbe per Doppelklick oder durch einen Auswahlbutton
ausgewählt, werden die Details der Farbe angezeigt und sie kann bearbeitet werden. Von
den Farben werden folgenden Attribute in der Datenbank gespeichert:
- Bezeichnung
- Preis
- Länge
1.5 Frisurverwaltung
Im Bereich der Frisurverwaltung werden die Frisuren mit Hilfe einer Datenbank gespeichert.
Es soll die Möglichkeit bestehen, Frisuren zu suchen, zu ändern, neue Frisuren anzulegen und
Frisuren löschen zu können. Wird eine Frisur per Doppelklick oder durch einen
Auswahlbutton ausgewählt, werden die Details der Frisur angezeigt und sie kann bearbeitet
werden. Von den Frisuren werden folgenden Attribute in der Datenbank gespeichert:
- Bezeichnung
- Preis
- Länge
- nass oder trocken
1.6 Gutscheinverwaltung
Im Bereich der Gutscheinverwaltung werden die Gutscheine mit Hilfe einer Datenbank gespeichert. Es soll die Möglichkeit bestehen, Gutscheine zu suchen, zu ändern, neue
Gutscheine anzulegen und Gutscheine löschen zu können. Wird ein Gutschein per Doppelklick oder durch einen Auswahlbutton ausgewählt, werden die Details des Gutscheins angezeigt und er kann bearbeitet werden. Von den Gutscheinen werden folgenden Attribute in
der Datenbank gespeichert:
- Bezeichnung
- Preis
1.7 Rechnungsverwaltung
Im Bereich der Rechnungsverwaltung können existierende Rechnungen anhand
verschiedener Kriterien gesucht werden (Datum, Mitarbeiter, Kunde). Rechnungen können
gelöscht werden. Durch einen Doppelklick werden die Kunden- und Rechnungsdetails angezeigt. Diese Rechnung kann auf Wunsch ausgedruckt werden.
1.8 Rechnungserstellung
Im Bereich der Rechnungserstellung kann ein bereits existierender Kunde gesucht und ausgewählt werden. Ist der Kunde nicht vorhanden und wird dieser auch nicht angelegt, muss
der „Default“ Kunde ausgewählt werden, damit die Rechnung im System gespeichert werden
kann. Zusätzlich kann der Mitarbeiter ausgewählt werden, der den Kunden bedient hat.
Beide Angaben sind notwendig, um die Rechnung abspeichern zu können. Die Rechnung wird
anhand von einer Auswahl aus einem DataGridView erstellt. Durch Anklicken verschiedener
Buttons (Frau/Mann, nass/trocken, Kurzhaar/Langhaar) wird die Anzeige selektiert. Farben,
Produkte und Gutscheine müssen extra ausgewählt werden. Wird ein Produkt ausgewählt
Seite 5 von 51
Projektdokumentation Frisc
Thomas Dudek
wird der Bestand verringert. Wird das Produkt von der Rechnung wieder entfernt, erhöht
sich der Bestand. Ist ein Produkt nicht mehr vorrätig, erscheint eine Fehlermeldung und das
Produkt erscheint nicht auf der Rechnung. Auf Wunsch kann ein Nachlass auf den Gesamtbetrag der Rechnung gewährt werden (5%, 10%, händische Eingabe). Die erstellte Rechnung
kann nun gedruckt und gespeichert werden. Von der Rechnung werden folgende Attribute in
mehreren Tabellen der Datenbank gespeichert.
- Name des Kunden
- Name des Mitarbeiters
- Rechnungsnummer
- Rechnungsdatum
- gewährter Nachlass
- Rechnungsposten
- Stückzahl
- Preis
Die Rechnungsposten werden in vier Untergruppen gruppiert:
1. Dienstleistung Schnitt/Frisur
2. Dienstleistung Farbe
3. Verkauf von Produkten
4. Verkauf eines Gutscheins
2.
Lösungsstrategien/Umsetzung
Die Datenbank soll mit Hilfe MySQL erstellt werden. Die grafische Benutzeroberfläche soll mit
C# .NET erstellt werden. Als Connector wird der MySQL-Connector 6.0 verwendet. Die Entwicklungsumgebung ist Visual Studio 2005.
Lösungsstrategie:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Entwerfen des Relationenschemas für die Datenbank
Entwerfen der Datenbank
Füllen der Datenbank mit Werten
Grundlegende Abfragen erstellen
Grafische Oberfläche mit C# erstellt und erste Abfrageversuche durchgeführt
Entwerfen der grafischen Benutzeroberfläche
Datenstruktur für die verschiedenen Klassen entworfen
Erstellen des ersten Prototyps
Abändern des Prototyps und Entwickeln der Endversion
Testen der Endversion
Erstellen der Dokumentation
2.1 Dauer des Projekts
Circa 5 Monate bei einer durchschnittlichen täglichen Arbeitszeit von 3 Stunden.
Seite 6 von 51
Projektdokumentation Frisc
3.
Thomas Dudek
Benutzerdokumentation
3.1 Systemvoraussetzungen
Die minimalen Systemvoraussetzungen betragen:
• 1 GHz Prozessor
• 512 MB Arbeitsspeicher (RAM)
• 500 MB Festplattenspeicher
• Microsoft Betriebssystem (XP/Vista) mit .Net Framework 2.0 oder höher
• Internetzugang um gegebenenfalls das .Net Framework herunterladen zu können
• Bildschirmauflösung von mindestens 1024x786 Pixel
3.2 Clientprogramme
• Xampp
• .Net Framework 3.5
3.2.1 Installation von Xampp
Installieren Sie Xampp (im Verzeichnis Tools der CD) nach c:\xampp (Standardpfad).
3.2.2 Einbinden der Datenbank
Starten Sie Xampp und starten Sie die Dienste Apache und MySql.
Öffnen Sie Ihren Internet Browser und geben Sie in der Adresszeile „localhost“ bzw.
127.0.0.1 ein.
Seite 7 von 51
Projektdokumentation Frisc
Thomas Dudek
Klicken Sie auf der linken Seite auf „phpMyAdmin“. Nach dem sich die Seite geöffnet hat,
klicken Sie auf den Reiter „Importieren“ und binden dort die Datenbank ein. Klicken Sie auf
„Durchsuchen“, und wählen die Datenbank aus (im Verzeichnis Datenbank der CD). Klicken
Sie anschließend auf „OK“.
Nach erfolgreichem Abschluss dieses Schrittes ist die Datenbank auf dem System gespeichert.
3.2.3 Installation von Frisc
Führen Sie die Datei Setup aus und folgen Sie den Installationsanweisungen. Sollten Sie das
Microsoft .Net Framework 3.5 nicht installiert haben, wird es aus dem Internet heruntergeladen. Alternativ ist das .Net Framework auf der CD im Verzeichnis Tools zu finden.
Seite 8 von 51
Projektdokumentation Frisc
Thomas Dudek
3.2.4 Starten des Programms
Vergewissern Sie sich, dass im Xampp Control Panel der MySql Dienst gestartet worden ist.
Wechseln Sie in den Ordner, in den Sie das Programm installiert haben und führen Sie Datei
Frisc.exe aus. Viel Spaß mit der Anwendung!
3.3 Bedienung von Frisc
Die komplette Bedienung von Frisc erfolgt über die Menüleiste oder den Unterpunkten der
einzelnen Fenster. In der Menüleiste befinden sich die Punkte Datei, Verwaltung, Rechnung
und Information.
3.3.1 Menüpunkt Datei
Datenbank sichern: Es kann ein Backup der Datenbank erzeugt werden.
Datenbank laden: Es kann ein vorhandenes Backup der Datenbank geladen.
Neustarten: Die Anwendung wird beendet und neu gestartet.
Beenden: Die Anwendung wird beendet.
Seite 9 von 51
Projektdokumentation Frisc
Thomas Dudek
3.3.2 Menüpunkt Verwaltung
Kunde:
Kunde -> Suchen: Alle gespeicherten Kunden werden angezeigt. Kunden können gesucht,
gelöscht, bearbeitet und angelegt werden.
Kunde -> Anlegen: Es öffnet sich ein Fenster in dem ein neuer Kunde angelegt werden kann.
Mitarbeiter:
Mitarbeiter -> Suchen: Alle gespeicherten Mitarbeiter werden angezeigt. Mitarbeiter
können gesucht, gelöscht, bearbeitet und angelegt werden.
Mitarbeiter -> Anlegen: Es öffnet sich ein Fenster, in dem ein neuer Mitarbeiter angelegt
werden kann.
Seite 10 von 51
Projektdokumentation Frisc
Thomas Dudek
Produkte:
Produkte -> Suchen: Alle gespeicherten Produkte und Produktlinien werden angezeigt. Produkte und Produktlinien können gesucht, gelöscht, bearbeitet und angelegt werden.
Produkte -> Anlegen -> Produkt/Produktlinie: Es öffnet sich jeweils ein Fenster, in dem ein
neues Produkt bzw. eine neue Produktlinie angelegt werden kann.
Farben:
Farben -> Suchen: Alle gespeicherten Farben werden angezeigt. Farben können gesucht,
gelöscht, bearbeitet und angelegt werden.
Farben -> Anlegen: Es öffnet sich ein Fenster, in dem eine neue Farbe angelegt werden
kann.
Seite 11 von 51
Projektdokumentation Frisc
Thomas Dudek
Frisuren:
Frisuren -> Suchen: Alle gespeicherten Frisuren werden angezeigt. Frisuren können gesucht,
gelöscht, bearbeitet und angelegt werden.
Frisuren -> Anlegen: Es öffnet sich ein Fenster, in dem eine neue Frisur angelegt werden
kann.
Gutscheine
Gutschein -> Suchen: Alle gespeicherten Gutscheine werden angezeigt. Gutscheine können
gesucht, gelöscht, bearbeitet und angelegt werden.
Gutschein -> Anlegen: Es öffnet sich ein Fenster, in dem eine neuer Gutschein angelegt
werden kann.
Seite 12 von 51
Projektdokumentation Frisc
Thomas Dudek
3.3.3 Menüpunkt Rechnung
Erstellen
Rechnung -> Erstellen: Eine Rechnung kann per Mausklicks erstellt werden. Die
ausgewählten Rechnungsposten werden aufgelistet. Posten können wieder entfernt
werden. Auf den Rechnungsbetrag kann ein Rabatt/Nachlass vergeben werden. Die Rechnung kann gedruckt und gespeichert werden. Dazu müssen ein Kunde und ein Mitarbeiter
ausgewählt worden sein.
Rechnung -> Suchen: Alle gespeicherten Rechnungen werden angezeigt. Rechnungen
können gesucht und gelöscht werden. Durch einen Doppelklick erscheinen die Rechnungsdetails. Diese Rechnung kann auf Wunsch ausgedruckt werden.
3.3.4 Menüpunkt ?
Es erscheint ein Informationsfenster über Frisc und den Autor des Programms.
Seite 13 von 51
Projektdokumentation Frisc
Thomas Dudek
3.3.5 Kunde/Mitarbeiter/Farben/Frisuren/Gutschein suchen
Alle Datensätze des jeweiligen Bereichs werden im Fenster angezeigt. Es besteht die
Möglichkeit per Name bzw. Bezeichnung nach Einträgen zu suchen. Ist ein Datensatz
markiert, kann dieser gelöscht oder bearbeitet werden. Per Doppelklick oder den Button
„Bearbeiten“ erscheinen die Details des Datensatzes in einem neuen Fenster. Durch den
Button „Anlegen“ öffnet sich ein Fenster, in dem ein neuer Datensatz angelegt werden
kann.
Seite 14 von 51
Projektdokumentation Frisc
Thomas Dudek
3.3.6 Kunde anlegen / Kundendetails
In dem Fenster Kunde anlegen bzw. Kundendetails werden die Daten des ausgewählten
Kunden angezeigt. Änderungen können übernommen werden. Die letzten drei Rechnungen
des Kunden werden angezeigt. Diese können ausgedruckt werden. Wenn ein neuer Kunde
angelegt werden soll, müssen die Daten des Kunden erfasst werden. Das Speichern erfolgt
durch den „Speichern“ Button. Um einen Kunden speichern zu können, wird mindestens
der Nachname benötigt.
Seite 15 von 51
Projektdokumentation Frisc
Thomas Dudek
3.3.7 Mitarbeiter anlegen / Mitarbeiterdetails
In dem Fenster Mitarbeiter anlegen bzw. Mitarbeiterdetails werden der Vor- und Nachname des ausgewählten Mitarbeiters angezeigt. Änderungen können übernommen
werden. Wenn ein neuer Mitarbeiter angelegt werden soll, muss der Name des
Mitarbeiters eingeben werden. Das Speichern erfolgt durch den „Speichern“ Button.
3.3.8 Farbe anlegen / Farbendetails
In dem Fenster Farbe anlegen bzw. Farbendetails wird die Bezeichnung, der Preis und die
Haarlänge der ausgewählten Farben angezeigt. Änderungen können übernommen werden.
Wenn eine neue Farbe angelegt werden soll, müssen die Felder Bezeichnung und Preis ausgefüllt werden. Eine Angabe über die Haarlänge ist nicht zwingend notwendig. Das Speichern erfolgt durch den „Speichern“ Button.
Seite 16 von 51
Projektdokumentation Frisc
Thomas Dudek
3.3.9 Frisur anlegen / Frisurdetails
In dem Fenster Frisur anlegen bzw. Frisurdetails wird die Bezeichnung, der Preis, die Haarlänge, die Art (nass/trocken) und das Geschlecht der ausgewählten Frisur angezeigt.
Änderungen können übernommen werden. Wenn eine neue Frisur angelegt werden soll,
müssen die Felder Bezeichnung und Preis ausgefüllt werden. Angaben über die Haarlänge,
Art (nass/trocken) und das Geschlecht sind nicht zwingend notwendig. Das Speichern
erfolgt durch den „Speichern“ Button.
3.3.10 Gutschein anlegen /Gutscheindetails
In dem Fenster Gutschein anlegen bzw. Gutscheindetails wird die Bezeichnung und der
Preis des ausgewählten Gutscheins angezeigt. Änderungen können übernommen werden.
Seite 17 von 51
Projektdokumentation Frisc
Thomas Dudek
Wenn ein neuer Gutschein angelegt werden soll, müssen die Felder Bezeichnung und Preis
ausgefüllt werden. Das Speichern erfolgt durch den „Speichern“ Button.
3.3.11 Produkt suchen
Alle Produkte und die dazugehörige Produktlinien der Datenbank werden im Fenster angezeigt. Es besteht die Möglichkeit per Bezeichnung nach Einträgen zu suchen. Durch das
Dropdown Fenster kann die Produktlinie vorselektiert werden. Ist ein Produkt markiert,
kann sowohl das Produkt als auch die Produktlinie über die entsprechenden Buttons gelöscht oder bearbeitet werden. Wird eine Produktlinie gelöscht, werden sämtliche
dazugehörigen Produkte gelöscht. Per Doppelklick werden die Details des Produktes in
einem neuen Fenster angezeigt. Durch den Button „Anlegen“ öffnet sich ein Fenster, in
dem je nach gedrücktem Button ein Produkt oder eine Produktline angelegt werden kann.
Eine Produktlinie muss nicht zwingend Produkte haben, jedoch kann kein Produkt ohne
Produktlinie erstellt werden.
Seite 18 von 51
Projektdokumentation Frisc
Thomas Dudek
3.3.12 Produkt anlegen / Produktdetails
In dem Fenster Produkt anlegen bzw. Produktdetails wird die Bezeichnung, die Produktlinie
der Preis und der Bestand der ausgewählten Frisur angezeigt. Änderungen können übernommen werden. Wenn ein neues Produkt angelegt werden soll, müssen die Felder Bezeichnung, Produktlinie und Preis ausgefüllt werden. Ist die Produktlinie noch nicht vorhanden, kann Sie über den Button „Anlegen“ angelegt werden (neues Fenster). Das Speichern
erfolgt durch den „Speichern“ Button.
3.3.13 Produktlinie anlegen / Produktliniendetails
In dem Fenster Produktlinie anlegen bzw. Produktliniendetails wird die Bezeichnung der
ausgewählten Produktlinie angezeigt. Änderungen können übernommen werden. Wenn
Seite 19 von 51
Projektdokumentation Frisc
Thomas Dudek
eine neue Produktlinie angelegt werden soll, muss das Feld Bezeichnung ausgefüllt werden.
Das Speichern erfolgt durch den „Speichern“ Button.
3.4 Rechnungserstellung
Im Bereich der Rechnungserstellung wird die Rechnung per Mausklicks erstellt. Über die
sechs verschiedenen Schnittbuttons wird die Schnittauswahl vorselektiert. Farben und
Gutscheine erscheinen in der Auswahl nach Drücken des jeweiligen Buttons. Produkte
werden nach einer Auswahl über das Dropdownmenü angezeigt. Ein Rechnungsposten
wird anhand eines Doppelklicks in die Rechnung übernommen. Steht ein Posten bereits auf
der Rechnung, erhöht sich die Stückzahl und der Gesamtpreis.
Soll ein Rechnungsposten von der Auswahl wieder entfernt werden, muss der
entsprechende Posten markiert werden und auf den Button „Posten löschen“ geklickt
werden. Der entsprechende Posten verschwindet bzw. dessen Stückzahl wird um eins verringert. Gegebenenfalls erhöht sich durch diesen Vorgang der Bestand des Produkts.
Des Weiteren besteht die Möglichkeit einen Rabatt/Nachlass auf den Gesamtbetrag zu vergeben. Die Vorgabe ist 5% oder 10%. Falls ein individueller Nachlass erwünscht ist, kann
dieser über den Button „per Eingabe“ eingegeben werden. Danach öffnet sich ein Fenster,
in dem der Nachlass (Euro oder in Prozent) eingegeben werden kann. Die Deselektierung
erfolgt durch ein weiteres Drücken des Buttons.
Auf Wunsch kann die Rechnung ausgedruckt werden. Dies erfolgt über den Button
„Drucken“ bzw. „Druckvorschau“.
Wurde die Rechnung komplett erstellt, kann sie über den Button „Speichern“ gespeichert
werden. Dadurch schließt sich die Form.
Für die Funktionen Speichern und Drucken muss sowohl ein Kunde als auch ein Mitarbeiter
ausgewählt worden sein. Hierfür öffnen sich jeweils ein „Browserfenster“ zum Auswählen
des Kunden bzw. Mitarbeiters.
Seite 20 von 51
Projektdokumentation Frisc
Thomas Dudek
3.4.1 Nachlass per Eingabe
In dem Fenster Rabatt kann der Rabatt individuell vergeben werden. Über das
Dropdownmenü muss die Art (Euro oder Prozent) ausgewählt werden. Durch den Button
„Übernehmen“ wird der Nachlass mit dem Gesamtbetrag verrechnet.
Seite 21 von 51
Projektdokumentation Frisc
Thomas Dudek
3.4.2 Rechnung suchen
Im Bereich „Rechnung suchen“ werden alle Rechnungen, sortiert nach Ausstellungsdatum,
angezeigt. Der Benutzer kann gezielt nach Rechnungen suchen. Die Rechnungen können
anhand des Datums, des Kunden und des Mitarbeiters (auch kombiniert) selektiert werden.
Durch einen Doppelklick erscheinen die Kundendetails und die ausgewählte Rechnung.
Diese kann auf Wunsch ausgedruckt werden.
4.
Entwicklerdokumentation
4.1 Entwicklungsumgebung, Programmiersprache und Clientprogramme
1.
2.
3.
4.
5.
Entwicklungsumgebung: Visual Studio 2005
Programmiersprache: C#
Framework: .NET
Datenbank: MySQL
MySQL-Server: Xampp
4.2 Datenbank
Als Datenbank wird eine MySQL Datenbank verwendet.
Die Datenbank besteht aus insgesamt 12 Tabellen.
Seite 22 von 51
Projektdokumentation Frisc
Thomas Dudek
4.2.1 Tabellen der Datenbank
Tabelle Kunde:
In der Tabelle Kunde werden die Daten des Kunden erfasst.
Tabelle Mitarbeiter:
In der Tabelle Mitarbeiter wird der Vor- und Nachname des Mitarbeiters erfasst.
Tabelle Rechnung:
In der Tabelle Rechnung werden die Kunden- und Mitarbeiter-ID, der Gesamtbetrag, der
Rabatt und das Datum der Rechnungserstellung erfasst.
Tabelle Frisur:
In der Tabelle Frisur werden die Attribute der Frisuren erfasst.
Tabelle Rechnung_Frisur:
In der Tabelle Rechnung_Frisur werden die Rechnungs- und Frisur ID, die Bezeichnung, der
Gesamtbetrag und die Stückzahl erfasst. Sie dient als Verbindungstabelle zwischen Frisur
und Rechnung.
Tabelle Gutschein:
In der Tabelle Gutschein werden die Bezeichnung und der Betrag erfasst.
Tabelle Rechnung_Gutschein:
In der Tabelle Rechnung_Gutschein werden die Rechnungs- und Gutscheins-ID, die
Bezeichnung, der Gesamtbetrag und die Stückzahl erfasst. Sie dient als Verbindungstabelle
zwischen Gutschein und Rechnung.
Tabelle Farbe:
In der Tabelle Farbe werden die Attribute der Farben erfasst.
Tabelle Rechnung_Farbe:
In der Tabelle Rechnung_Farbe werden die Rechungs- und Gutschein ID, die Bezeichnung,
der Gesamtbetrag und die Stückzahl erfasst. Sie dient als Verbindungstabelle zwischen
Farbe und Rechnung.
Tabelle Produktlinie:
In der Tabelle Produktlinie wird die Bezeichnung erfasst.
Tabelle Produkt:
In der Tabelle Produkt wird die Produktlinien ID und die Attribute des Produkts erfasst.
Tabelle Rechnung_Produkt:
In der Tabelle Rechnung_Produkt werden die Rechnungs- und Produkt ID, die Bezeichnung,
der Gesamtbetrag und die Stückzahl erfasst. Sie dient als Verbindungstabelle zwischen Produkt und Rechnung.
Seite 23 von 51
Projektdokumentation Frisc
4.2.2 Relationenschema
4.2.3 Quellcode der Datenbank
Erstellen der Datenbank
create database if not exists frisc;
use frisc;
Tabelle Frisur
create table Frisur(
Frisur_ID int Auto_increment,
Bezeichnung char(50),
Laenge enum('kurz','lang', ''),
Preis double,
Nass_Trocken enum('nass','trocken', ''),
Geschlecht enum('m','w','k', ''),
Primary Key(Frisur_ID))engine=InnoDB;
Tabelle Kunde
create table Kunde(
Kunden_ID int Auto_increment,
Vorname char(50),
Nachname char(50),
Seite 24 von 51
Thomas Dudek
Projektdokumentation Frisc
Thomas Dudek
Strasse char(50),
Hausnummer char(10),
Postleitzahl char(5),
Ort char(50),
Geburtstag Date,
Geschlecht enum('m','w','k'),
Telefon char(20),
Bemerkung char(250),
Primary key (Kunden_ID))engine=InnoDB;
Anlegen des Default-Kunden
insert into Kunde(Kunden_ID,Vorname,Nachname) Values
(NULL,"DEFAULT","DEFAULT“);
Tabelle Mitarbeiter
create table Mitarbeiter(
Mitarbeiter_ID int Auto_increment,
Vorname char(50),
Nachname char(50),
Primary Key(Mitarbeiter_ID))engine=InnoDB;
Tabelle Produktlinie
create table Produktlinie(
Produktlinie_ID int Auto_increment,
Bezeichnung char(50),
Primary Key (Produktlinie_ID))engine=InnoDB;
Tabelle Produkt
create table Produkt(
Produkt_ID int Auto_increment,
Bezeichnung char(50),
Preis double,
Bestand int,
Produktlinie_ID int,
Primary Key(Produkt_ID),
Foreign Key(Produktlinie_ID) References Produktlinie(Produktlinie_ID) on delete
cascade)engine=InnoDB;
Tabelle Farbe
create table Farbe(
Farbe_ID int Auto_increment,
Bezeichnung char(50),
Preis double,
Laenge enum('kurz','lang', ''),
Primary Key(Farbe_ID))engine=InnoDB;
Seite 25 von 51
Projektdokumentation Frisc
Thomas Dudek
Tabelle Gutschein
create table Gutschein(
Gutschein_ID int Auto_increment,
Bezeichnung char(50),
Preis double,
Primary Key(Gutschein_ID))engine=InnoDB;
Tabelle Rechnung
create table Rechnung(
Rechnung_ID int Auto_increment,
Gesamtbetrag double,
Rabatt char(30),
Datum Date,
Kunden_ID int,
Mitarbeiter_ID int,
Primary Key(Rechnung_ID),
Foreign Key(Mitarbeiter_ID) References Mitarbeiter(Mitarbeiter_ID) on delete set
NULL)engine=Innodb;
Tabelle Rechnungsposten_Gutschein
create table Rechnungsposten_Gutschein(
Rechnungsposten_ID int Auto_increment,
Beschreibung char(100),
Stueck int,
Betrag double,
Gutschein_ID int,
Rechnung_ID int,
Primary Key(Rechnungsposten_ID),
Foreign Key(Gutschein_ID) References Gutschein(Gutschein_ID) on delete set NULL,
Foreign Key(Rechnung_ID) References Rechnung(Rechnung_ID)on delete
cascade)engine=InnoDB;
Tabelle Rechnungsposten_Produkt
create table Rechnungsposten_Produkt(
Rechnungsposten_ID int Auto_increment,
Beschreibung char(100),
Stueck int,
Betrag double,
Produkt_ID int,
Rechnung_ID int,
Primary Key(Rechnungsposten_ID),
Foreign Key(Produkt_ID) References Produkt(Produkt_ID) on delete set NULL,
Foreign Key(Rechnung_ID) References Rechnung(Rechnung_ID)on delete
cascade)engine=InnoDB;
Seite 26 von 51
Projektdokumentation Frisc
Thomas Dudek
Tabelle Rechnungsposten_Farbe
create table Rechnungsposten_Farbe(
Rechnungsposten_ID int Auto_increment,
Beschreibung char(100),
Stueck int,
Betrag double,
Farbe_ID int,
Rechnung_ID int,
Primary Key(Rechnungsposten_ID),
Foreign Key(Rechnung_ID) References Rechnung(Rechnung_ID)on delete cascade,
Foreign Key(Farbe_ID) References Farbe(Farbe_ID)on delete set NULL)engine=InnoDB;;
Tabelle Rechnungsposten_Frisur
create table Rechnungsposten_Frisur(
Rechnungsposten_ID int Auto_increment,
Beschreibung char(100),
Stueck int,
Betrag double,
Frisur_ID int,
Rechnung_ID int,
Primary Key(Rechnungsposten_ID),
Foreign Key(Frisur_ID) References Frisur(Frisur_ID)on delete set NULL,
Foreign Key(Rechnung_ID) References Rechnung(Rechnung_ID)on delete
cascade)engine=InnoDB;
4.3 Form Übersicht
4.3.1 Form Browser
Variablen:
private UserControl current;
Variable zum Zuweisen des
übergegebenen UserControl.
Methoden:
public Browser()
public void loadelement(UserControl Form)
Konstruktor der Klasse Browser –
Initialisierung der Variablen.
Lädt das übergebene UserControl ins
Panel.
Event-Handler Methoden:
private void panelbrowser_ControlRemoved(object
sender, ControlEventArgs e)
Schließt die Form, wenn ein UserControl
entfernt wird.
4.3.2 Form Browser_klein
Variablen:
private UserControl current;
Methoden:
Seite 27 von 51
Variable zum Zuweisen des
übergegebenen UserControll.
Projektdokumentation Frisc
Thomas Dudek
public Browser_klein()
public void loadelement(UserControl Form)
Konstruktor der Klasse Browser_klein –
Initialisierung der Variablen.
Lädt das übergebene UserControl in das
Panel.
Event-Handler Methoden:
private void
panelbrowserklein_ControlRemoved(object sender,
ControlEventArgs e)
Schließt die Form, wenn ein UserControl
entfernt wird.
4.3.3 Form Main
Variablen:
private UserControl current;
private bool freigabe;
static
static
static
static
static
static
static
private
private
private
private
private
private
private
BindingSource Kunden;
BindingSource Farben;
BindingSource Gutscheine;
BindingSource Frisuren;
BindingSource Produkte;
BindingSource Mitarbeiter;
DataTable Produktlinien;
Variable zum Zuweisen des
übergegebenen UserControl.
Variable zur Überprüfung, ob die
Rechnung_erstellen Form geschlossen
worden ist.
Variablen zur Speicherung der Abfragen
der Datenbank.
Methoden:
public Main()
static public void loadFarben()
static public void loadGutscheine()
static public void loadFrisuren()
static public void loadKunden()
static public void loadProdukte()
static public void loadMitarbeiter()
static public void loadProduktlinien()
static
static
static
static
static
static
public
public
public
public
public
public
Seite 28 von 51
BindingSource
BindingSource
BindingSource
BindingSource
BindingSource
BindingSource
getFarben()
getGutscheine()
getFrisuren()
getKunden()
getProdukte()
getMitarbeiter()
Konstruktor der Klasse Main –
Initialisierung der Variablen.
Ruft alle Farben der Datenbank ab und
weist der BindingSource „Farben“ den
DataTable zu.
Ruft alle Gutscheine der Datenbank ab und
weist der BindingSource „Gutscheine“ den
DataTable zu.
Ruft alle Frisuren der Datenbank ab und
weist der BindingSource „Frisuren“ den
DataTable zu.
Ruft alle Kunden der Datenbank ab und
weist der BindingSource „Kunden“ den
DataTable zu.
Ruft alle Produkte der Datenbank ab und
weist der BindingSource „Produkte“ den
DataTable zu.
Ruft alle Mitarbeiter der Datenbank ab
und weist der BindingSource „Mitarbeiter“
den DataTable zu.
Ruft alle Produktlinien der Datenbank ab
und weist der Variablen „Produktlinie“ den
DataTable zu.
Liefert die jeweilige BindingSource bzw.
DataTable zurück.
Projektdokumentation Frisc
static public DataTable getProduktlinien()
public static DataGridView
configureGridViewStyle(DataGridView dgv)
Thomas Dudek
Initialisiert ein DataGridView.
Event-Handler Methoden:
private void
beendenToolStripMenuItem_Click(object sender,
EventArgs e)
private void
erstellenToolStripMenuItem_Click(object sender,
EventArgs e)
private void suchenToolStripMenuItem_Click(object
sender, EventArgs e)
private void
anlegenToolStripMenuItem_Click(object sender,
EventArgs e)
private void
suchenToolStripMenuItem4_Click(object sender,
EventArgs e)
private void
produktToolStripMenuItem2_Click(object sender,
EventArgs e)
private void
produktlinieToolStripMenuItem1_Click(object
sender, EventArgs e)
private void
suchenToolStripMenuItem1_Click(object sender,
EventArgs e)
private void
anlegenToolStripMenuItem1_Click(object sender,
EventArgs e)
private void
suchenToolStripMenuItem2_Click(object sender,
EventArgs e)
private void toolStripMenuItem1_Click(object
sender, EventArgs e)
private void
suchenToolStripMenuItem3_Click(object sender,
EventArgs e)
private void
anlegenToolStripMenuItem2_Click(object sender,
EventArgs e)
private void
suchenToolStripMenuItem5_Click(object sender,
EventArgs e)
private void
anlegenToolStripMenuItem4_Click(object sender,
EventArgs e)
private void
suchenToolStripMenuItem6_Click(object sender,
EventArgs e)
private void
anlegenToolStripMenuItem5_Click(object sender,
EventArgs e)
private void
dBSpeichernToolStripMenuItem_Click(object sender,
EventArgs e)
private void
dBLadenToolStripMenuItem_Click(object sender,
EventArgs e)
Seite 29 von 51
Beendet die Anwendung.
Lädt das UserControl Rechnung_erstellen
in das Panel.
Lädt das UserControl in Kunde_suchen in
das Panel.
Lädt das UserControl Kunde_details in die
Form Browser.
Lädt das UserControl Produkt_suchen in
das Panel.
Lädt das UserControl Produkt_details in
die Form Browser_klein.
Lädt das UserControl Produktlinie_anlegen
in die Form Browser_klein.
Lädt das UserControl Mitarbeiter_suchen
in das Panel.
Lädt das UserControl Mitarbeiter_details
in die Form Browser_klein.
Lädt das UserControl Rechnung_suchen in
das Panel.
Zeigt die Form Info an.
Lädt das UserControl Farben_suchen in
das Panel.
Lädt das UserControl Farbe_details in die
Form Browser_klein.
Lädt das UserControl Frisur_suchen in das
Panel.
Lädt das UserControl Frisur_details in die
Form Browser_klein.
Lädt das UserControl Gutschein_suchen in
das Panel.
Lädt das UserControl Gutschein_details in
die Form Browser_klein.
Erstellt einen mysqldump der Datenbank.
Liest einen mysqldump ein.
Projektdokumentation Frisc
private void Form1_Load(object sender, EventArgs
e)
private void
neustartenToolStripMenuItem_Click(object sender,
EventArgs e)
private void dump_erstellt(object sender,
EventArgs e)
private void Datenbank_eingelesen(object sender,
EventArgs e)
private void mainpanel_ControlRemoved(object
sender, ControlEventArgs e)
Thomas Dudek
Lädt beim Starten des Programms die
Startform.
Schließt und öffnet die Anwendung neu.
Wird ausgeführt, wenn der SQL-Dump
erstellt worden ist.
Wird ausgeführt, wenn der SQL-Dump
eingelesen worden ist. Alle loadFunktionen werden erneut aufgerufen.
Lädt die Startform, wenn „freigabe“ auf
true gesetzt ist.
4.4 UserControl Übersicht
4.4.1 UserControl Farbe_details
Variablen:
private Farbe actual_Farbe;
private bool Längenänderung;
private bool freigabe;
private bool validierung;
Objekt der Klasse Farbe.
Variable, um Änderungen zu erkennen.
Variable, um die Änderungen zu
ermöglichen.
Variable, um fehlerhafte Eingabe
abzufangen.
Methoden:
public Farbe_details()
public void set_Farbe(Farbe tempF)
private void update_Farbe()
private void Farbespeichern()
Konstruktor der Klasse Farben_details –
Initialisierung der Variablen.
Weist dem Objekt actual_Farbe ein
übergebenes Objekt zu und füllt die
Elemente des UserControls mit Werten.
Überprüft die Eingaben und weist den
Variablen der Klasse Werte zu.
Speichert die neu angelegte Farbe bzw.
übernimmt die Änderungen einer
existierenden Farbe.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
private void rb_lang_CheckedChanged(object
sender, EventArgs e)
private void rb_kurz_CheckedChanged(object
sender, EventArgs e)
private void rb_l_ka_CheckedChanged(object
sender, EventArgs e)
private void tb_Bezeichnung_KeyDown(object
sender, KeyEventArgs e)
Seite 30 von 51
Schließt die Form.
Ruft die Funktion Farbespeichern() auf.
Wird der RadioButton „lang“ aktiviert,
wird die Variable „Längenänderung“ auf
true gesetzt.
Wird der RadioButton „kurz“ aktiviert,
wird die Variable „Längenänderung“ auf
true gesetzt.
Wird der RadioButton „keine Angabe“
aktiviert, wird die Variable
„Längenänderung“ auf true gesetzt.
Nach Eingabe von Enter, wird die Funktion
Farbespeichern() aufgerufen.
Projektdokumentation Frisc
Thomas Dudek
4.4.2 UserControl Farben_suchen
Variablen:
private Farbe tempF;
private Browser_klein F_bearbeiten;
Objekt der Klasse Farbe.
Objekt der Klasse Browser_klein.
Methoden:
public Farben_suchen()
private void refreshDataGridView()
private void suchen()
private void Farbe_auswaehlen()
private void Buttons(bool status)
private void bearbeiten()
Konstruktor der Klasse Farben_suchen –
Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchbox.
Die Attribute der Farbe werden in dem
Objekt tempF gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Öffnet die Form Browser_ klein und füllt
die Elemente des UserControls mit
Werten.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchen_KeyDown(object sender,
KeyEventArgs e)
private void tb_suchen_TextChanged(object sender,
EventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void btn_löschen_Click(object sender,
EventArgs e)
private void btn_bearbeiten_Click(object sender,
EventArgs e)
private void
dataGridView_Farben_CellDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_anlegen_Click(object sender,
EventArgs e)
Ruft die Funktion suchen() auf.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen.
Ruft die Funktion suchen() auf.
Entfernt den Filter, so dass alle Inhalte
angezeigt werden und löscht den Inhalt
der Suchbox.
Löscht die markierte Farbe aus der
Datenbank.
Ruft die Funktion bearbeiten() auf.
Ruft die Funktion bearbeiten() auf.
Öffnet die Form Browser_klein und
ermöglicht das Anlegen eines neuen
Datenbankeintrags.
4.4.3 UserControl Frisur_details
Variablen:
private
private
private
private
private
Frisur actual_Frisur;
bool Längenänderung;
bool NassTrockenänderung;
bool Geschlechtsänderung;
bool freigabe;
private bool validierung;
Seite 31 von 51
Objekt der Klasse Frisur.
Variable, um Änderungen zu erkennen.
Variable, um die Änderungen zu
ermöglichen.
Variable, um fehlerhafte Eingabe
abzufangen.
Projektdokumentation Frisc
Thomas Dudek
Methoden:
public Frisur_details()
public void set_Frisur(Frisur tempF)
private void update_Frisur()
private void Frisurspeichern()
Konstruktor der Klasse Frisure_details –
Initialisierung der Variablen.
Weist dem Objekt actual_Frisur ein
übergebenes Objekt zu und füllt die
Elemente des UserControls mit Werten.
Überprüft die Eingaben und weist den
Variablen der Klasse Werte zu.
Speichert die neu angelegte Frisur bzw.
übernimmt die Änderungen einer
existierenden Frisur.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
private void rb_lang_CheckedChanged(object
sender, EventArgs e)
private void rb_kurz_CheckedChanged(object
sender, EventArgs e)
private void rb_l_ka_CheckedChanged(object
sender, EventArgs e)
private void rb_nass_CheckedChanged(object
sender, EventArgs e)
private void radioButton1_CheckedChanged(object
sender, EventArgs e)
private void rb_nt_ka_CheckedChanged(object
sender, EventArgs e)
private void rb_Frau_CheckedChanged(object
sender, EventArgs e)
private void rb_Mann_CheckedChanged(object
sender, EventArgs e)
private void rb_Kind_CheckedChanged(object
sender, EventArgs e)
private void rb_g_ka_CheckedChanged(object
sender, EventArgs e)
private void tb_Bezeichnung_KeyDown(object
sender, KeyEventArgs e)
Seite 32 von 51
Schließt die Form.
Ruft die Funktion Frisurspeichern() auf.
Wird der RadioButton „lang“ aktiviert,
wird die Variable „Längenänderung“ auf
true gesetzt.
Wird der RadioButton „kurz“ aktiviert,
wird die Variable „Längenänderung“ auf
true gesetzt.
Wird der RadioButton „keine Angabe“
aktiviert, wird die Variable
„Längenänderung“ auf true gesetzt.
Wird der RadioButton „nass“ aktiviert,
wird die Variable „NassTrockenänderung“
auf true gesetzt.
Wird der RadioButton „trocken“ aktiviert,
wird die Variable „NassTrockenänderung“
auf true gesetzt.
Wird der RadioButton „keine Angabe“
aktiviert, wird die Variable
„NassTrockenänderung“ auf true gesetzt.
Wird der RadioButton „Frau“ aktiviert,
wird die Variable „Geschlechtsänderung“
auf true gesetzt.
Wird der RadioButton „Mann“ aktiviert,
wird die Variable „Geschlechtsänderung“
auf true gesetzt.
Wird der RadioButton „Kind“ aktiviert,
wird die Variable „Geschlechtsänderung“
auf true gesetzt.
Wird der RadioButton keine Angabe
aktiviert, wird die Variable
„Geschlechtsänderung“ auf true gesetzt.
Nach Eingabe von Enter, wird die Funktion
Frisurspeichern() aufgerufen.
Projektdokumentation Frisc
Thomas Dudek
4.4.4 UserControl Frisur_suchen
Variablen:
private Frisur tempF;
private Browser_klein F_bearbeiten;
Objekt der Klasse Farbe.
Objekt der Klasse Browser_klein.
Methoden:
public Farben_suchen()
private void refreshDataGridView()
private void suchen()
private void Frisur_auswaehlen()
private void Buttons(bool status)
private void bearbeiten()
Konstruktor der Klasse Farben_suchen –
Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchbox.
Die Attribute der Frisur werden in dem
Objekt tempF gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Öffnet die Form Browser_ klein und füllt
die Elemente des UserControls mit
Werten.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchen_KeyDown(object sender,
KeyEventArgs e)
private void tb_suchen_TextChanged(object sender,
EventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void btn_löschen_Click(object sender,
EventArgs e)
private void btn_bearbeiten_Click(object sender,
EventArgs e)
private void
dataGridView_Farben_CellDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_anlegen_Click(object sender,
EventArgs e)
Ruft die Funktion suchen() auf.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen.
Ruft die Funktion suchen() auf.
Entfernt den Filter, so dass alle Inhalte
angezeigt werden und löscht den Inhalt
der Suchbox.
Löscht die markierte Farbe aus der
Datenbank.
Ruft die Funktion bearbeiten() auf.
Ruft die Funktion bearbeiten() auf.
Öffnet die Form Browser_klein und
ermöglicht das Anlegen eines neuen
Datenbankeintrags.
4.4.5 UserControl GridView_letzte_Rechnungen
Variablen:
private
private
private
private
private
Kunde tempK;
double Gesamtbetrag;
string Mitarbeiter;
string Datum;
string Rabatt;
Objekt der Klasse Kunde.
Variablen zum Speichern des:
- Gesamtbetrages
- Name des Mitarbeiters
- Datum
- Rabatt
Methoden:
public GridView_letzte_Rechnungen()
Seite 33 von 51
Konstruktor der Klasse
GridView_letzte_Rechnungen –
Projektdokumentation Frisc
public GridView_letzte_Rechnungen(DataTable
daten, string M, string D, double Betrag, string
Rabatt, Kunde Kunde)
Thomas Dudek
Initialisierung der Variablen und
Konfigurieren des DataGridView.
Überladener Konstruktor. Weist anhand
der Übergabeparameter den Variablen die
Werte zu und füllt das UserControl mit
Werten.
Event-Handler Methoden:
private void printDocument1_PrintPage(object
sender,
System.Drawing.Printing.PrintPageEventArgs e)
private void btn_drucken_Click(object sender,
EventArgs e)
Ruft die statische Funktion print der Klasse
Rechnung_drucken auf.
Ruft die Funktion print() der Klasse
printDocument1 auf.
4.4.6 UserControl Gutschein_Details
Variablen:
private Gutschein actual_Gutschein;
private bool validierung;
Objekt der Klasse Gutschein.
Variable um fehlerhafte Eingabe
abzufangen.
Methoden:
public Gutschein_details()
public void set_Gutschein(Gutschein tempG)
private void update_Gutschein()
private void Gutscheinspeichern()
Konstruktor der Klasse Gutschein_details –
Initialisierung der Variablen.
Weist dem Objekt actual_Gutschein ein
übergebenes Objekt zu und füllt die
Elemente des UserControls mit Werten.
Überprüft die Eingaben und weist den
Variablen der Klasse Werte zu.
Speichert den neu angelegten Gutschein
bzw. übernimmt die Änderungen eines
existierenden Gutscheins.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
private void Gutschein_details_KeyDown(object
sender, KeyEventArgs e)
Schließt die Form.
Ruft die Funktion Gutscheinspeichern()
auf.
Nach Eingabe von Enter wird die Funktion
Gutscheinspeichern() aufgerufen.
4.4.7 UserControl Gutschein_suchen
Variablen:
private Gutschein tempG;
private Browser_klein G_bearbeiten;
Objekt der Klasse Gutschein.
Objekt der Klasse Browser_klein.
Methoden:
public Gutschein_suchen()
private void refreshDataGridView()
private void suchen()
Seite 34 von 51
Konstruktor der Klasse Gutschein_suchen
– Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchbox.
Projektdokumentation Frisc
private void Gutschein_auswaehlen()
private void Buttons(bool status)
private void bearbeiten()
Thomas Dudek
Die Attribute des Gutscheins werden in
dem Objekt tempG gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Öffnet die Form Browser_ klein und füllt
die Elemente des UserControls mit den
Werten.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchen_KeyDown(object sender,
KeyEventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void tb_suchen_TextChanged(object sender,
EventArgs e)
private void btn_löschen_Click(object sender,
EventArgs e)
private void btn_bearbeiten_Click(object sender,
EventArgs e)
private void
dataGridView_Gutschein_CellDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_anlegen_Click(object sender,
EventArgs e)
Ruft die Funktion suchen() auf.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen.
Entfernt den Filter, so dass alle Inhalte
angezeigt werden und löscht den Inhalt
der Suchbox.
Ruft die Funktion suchen() auf.
Löscht den markierten Gutschein aus der
Datenbank.
Ruft die Funktion bearbeiten() auf.
Ruft die Funktion bearbeiten() auf.
Öffnet die Form Browser_klein und
ermöglicht das Anlegen eines neuen
Datenbankeintrags.
4.4.8 UserControl Kunde_auswahl
Variablen:
private Kunde tempK;
private Browser_klein G_bearbeiten;
Objekt der Klasse Kunde.
Objekt der Klasse Browser_klein.
Methoden:
public Kunde_auswahl()
private void refreshDataGridView()
private void suchen()
private void Kunden_auswaehlen()
private void Buttons(bool status)
Konstruktor der Klasse Kunde_auswahl –
Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchbox.
Die Attribute des Kunden werden in dem
Objekt tempK gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchen_KeyDown(object sender,
KeyEventArgs e)
private void tb_suchen_TextChanged(object sender,
EventArgs e)
Seite 35 von 51
Ruft die Funktion suchen() auf.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen.
Ruft die Funktion suchen() auf.
Projektdokumentation Frisc
private void btn_alle_Click(object sender,
EventArgs e)
private void
dataGridView_Kunden_CellContentDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_auswählen_Click(object sender,
EventArgs e)
private void bt_schliessen_Click_1(object sender,
EventArgs e)
Thomas Dudek
Entfernt den Filter, so dass alle Inhalte
angezeigt werden und löscht den Inhalt
der Suchbox.
Ruft die Funktion Kunde_auswaehlen()
auf.
Ruft die Funktion Kunde_auswaehlen()
auf.
Schließt die Form.
4.4.9 UserControl Kunde_suchen
Variablen:
private Kunde tempK;
private Browser K_bearbeiten;
Objekt der Klasse Kunde.
Objekt der Klasse Browser.
Methoden:
public Kunde_suchen()
private void refreshDataGridView()
private void suchen()
private void Kunden_auswaehlen()
private void Buttons(bool status)
private void bearbeiten()
Konstruktor der Klasse Kunde_suchen –
Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchbox.
Die Attribute des Kunden werden in dem
Objekt tempK gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Öffnet die Form Browser und füllt die
Elemente des UserControls mit den
Werten.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchen_KeyDown(object sender,
KeyEventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void tb_suchen_TextChanged(object sender,
EventArgs e)
private void btn_löschen_Click(object sender,
EventArgs e)
private void btn_bearbeiten_Click(object sender,
EventArgs e)
private void
dataGridView_Kunden_CellDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_anlegen_Click(object sender,
EventArgs e)
Seite 36 von 51
Ruft die Funktion suchen() auf.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen.
Entfernt den Filter, so dass alle Inhalte
angezeigt werden und löscht den Inhalt
der Suchbox.
Ruft die Funktion suchen() auf.
Löscht den markierten Kunden aus der
Datenbank.
Ruft die Funktion bearbeiten() auf.
Ruft die Funktion bearbeiten() auf.
Öffnet die Form Browser und ermöglicht
das Anlegen eines neuen
Datenbankeintrags.
Projektdokumentation Frisc
Thomas Dudek
4.4.10 UserControl Kunden_details
private Kunde actual_Kunde;
private bool modified;
private bool freigabe;
private bool validierung;
private
private
private
private
private
private
private
private
string fehler;
string M_Name;
string Datum;
string Gesamtbetrag;
string Rabatt;
int counter;
DataTable letzte_Rechnungen;
DataTable buffer;
Objekt der Klasse Kunde.
Variable, um Änderungen zu erkennen.
Variable, um die Änderungen zu
ermöglichen.
Variable, um fehlerhafte Eingabe
abzufangen.
String für die Fehlerausgabe.
Variablen der Rechnung.
Zählervariable
Objekte der Klasse DataTable für die
Anzeige der letzten drei Rechnungen.
Methoden:
public Kunde_details()
public void set_Kunde(Kunde tempKunde)
private void update_Kunde()
public void rechnungladen()
public void rechnungladen(int ID,string M,string
D,string Gesamtbetrag,string Rabatt)
Konstruktor der Klasse Kunde_details –
Initialisierung der Variablen.
Weist dem Objekt actual_Kunde ein
übergebenes Objekt zu und füllt die
Elemente des UserControls mit Werten.
Überprüft die Eingaben und weist den
Variablen der Klasse Werte zu.
Lädt die letzten drei Rechnungen und
erstellt die TabPages.
Zeigt Detailierte Informationen zu einer
gesuchten Rechnung an.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
private void rb_k_CheckedChanged(object sender,
EventArgs e)
private void rb_w_CheckedChanged(object sender,
EventArgs e)
private void rb_m_CheckedChanged(object sender,
EventArgs e)
Schließt die Form.
Speichert den neu angelegten Kunden
bzw. übernimmt die Änderungen eines
existierenden Kunden.
Wird der RadioButton „Kind“ aktiviert,
wird die Variable „modified“ auf true
gesetzt.
Wird der RadioButton „weiblich“ aktiviert,
wird die Variable „modified“ auf true
gesetzt.
Wird der RadioButton „männlich“
aktiviert, wird die Variable „modified“ auf
true gesetzt.
4.4.11 UserControl Mitarbeiter_auswahl
Variablen:
private Mitarbeiter tempM;
Objekt der Klasse Mitarbeiter.
Methoden:
public Mitarbeiter_auswahl()
Seite 37 von 51
Konstruktor der Klasse
Mitarbeiter_auswahl – Initialisierung der
Variablen und Konfigurieren des
DataGridView.
Projektdokumentation Frisc
private void refreshDataGridView()
private void suchen()
private void Mitarbeiter_auswaehlen()
private void Buttons(bool status)
Thomas Dudek
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchbox.
Die Attribute des Mitarbeiters werden in
dem Objekt tempM gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchen_KeyDown(object sender,
KeyEventArgs e)
private void tb_suchen_TextChanged(object sender,
EventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void
dataGridView_Mitarbeiter_CellDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_auswählen_Click(object sender,
EventArgs e)
private void bt_schliessen_Click(object sender,
EventArgs e)
Ruft die Funktion suchen() auf.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen.
Ruft die Funktion suchen() auf.
Entfernt den Filter, so dass alle Inhalte
angezeigt werden und löscht den Inhalt
der Suchbox.
Ruft die Funktion
Mitarbeiter_auswaehlen() auf.
Ruft die Funktion
Mitarbeiter_auswaehlen() auf.
Schließt die Form.
4.4.12 UserControl Mitarbeiter_details
private Mitarbeiter actual_Mitarbeiter;
private bool validierung;
private string fehler;
Objekt der Klasse Mitarbeiter.
Variable, um fehlerhafte Eingabe
abzufangen.
String für die Fehlerausgabe.
Methoden:
public Mitarbeiter_details()
public void set_Mitarbeiter(Mitarbeiter
tempMitarbeiter)
public void update_Mitarbeiter()
private void Mitarbeiterspeichern()
Konstruktor der Klasse Mitarbeiter_detials
– Initialisierung der Variablen.
Weist dem Objekt actual_Mitarbeiter ein
übergebenes Objekt zu und füllt die
Elemente des UserControls mit Werten.
Überprüft die Eingaben und weist den
Variablen der Klasse Werte zu.
Speichert den neu angelegten Mitarbeiter
bzw. übernimmt die Änderungen eines
existierenden Mitarbeiters.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
private void tb_Vorname_KeyDown(object sender,
KeyEventArgs e)
Seite 38 von 51
Schließt die Form.
Ruft die Funktion Mitarbeiterspeichern()
auf.
Ruft die Funktion Mitarbeiterspeichern()
auf.
Projektdokumentation Frisc
Thomas Dudek
4.4.13 UserControl Mitarbeiter_suchen
Variablen:
private Mitarbeiter tempM;
private Browser_klein M_bearbeiten;
Objekt der Klasse Mitarbeiter.
Objekt der Klasse Browser_klein.
Methoden:
public Mitarbeiter_suchen()
private void refreshDataGridView()
private void suchen()
private void Mitarbeiter_auswaehlen()
private void Buttons(bool status)
private void bearbeiten()
Konstruktor der Klasse Mitarbeiter_suchen
– Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchbox.
Die Attribute des Mitarbeiters werden in
dem Objekt tempM gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Öffnet die Form Browser_klein und füllt
die Elemente des UserControls mit den
Werten.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchen_KeyDown(object sender,
KeyEventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void tb_suchen_TextChanged(object sender,
EventArgs e)
private void btn_löschen_Click(object sender,
EventArgs e)
private void btn_bearbeiten_Click(object sender,
EventArgs e)
private void
dataGridView_Mitarbeiter_CellDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_anlegen_Click(object sender,
EventArgs e)
Ruft die Funktion suchen() auf.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen.
Entfernt den Filter, so dass alle Inhalte
angezeigt werden und löscht den Inhalt
der Suchbox.
Ruft die Funktion suchen() auf.
Löscht den markierten Mitarbeiter aus der
Datenbank.
Ruft die Funktion bearbeiten() auf.
Ruft die Funktion bearbeiten() auf.
Öffnet die Form Browser_klein und
ermöglicht das Anlegen eines neuen
Datenbankeintrags.
4.4.14 UserControl Produkt_details
Variablen:
private
private
private
private
Produkt actual_produkt;
bool Bestandsänderung;
bool Produktlinienänderung;
bool freigabe;
private bool validierung;
private string fehler;
Methoden:
Seite 39 von 51
Objekt der Klasse Produkt.
Variable, um Änderungen zu erkennen.
Variable, um die Änderungen zu
ermöglichen.
Variable, um fehlerhafte Eingabe
abzufangen.
String für die Fehlerausgabe.
Projektdokumentation Frisc
public Produkt_details()
public void set_Produkt(Produkt tempProdukt)
private void update_Produkt()
private void Produktspeichern()
private void InitialisiereComboBox()
Thomas Dudek
Konstruktor der Klasse Produkt_details –
Initialisierung der Variablen.
Weist dem Objekt actual_Produkt ein
übergebenes Objekt zu und füllt die
Elemente des UserControls mit Werten.
Überprüft die Eingaben und weist den
Variablen der Klasse Werte zu.
Speichert das neu angelegte Produkt bzw.
übernimmt die Änderungen eines
existierenden Produkts.
Füllt die ComboBox mit den Produktlinien
der Datenbank.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
rivate void tb_Bezeichnung_KeyDown(object sender,
KeyEventArgs e)
private void nud_Bestand_ValueChanged(object
sender, EventArgs e)
private void
cb_Produktlinie_SelectedIndexChanged(object
sender, EventArgs e)
private void button1_Click(object sender,
EventArgs e)
Schließt die Form.
Ruft die Funktion Produktspeichern() auf.
Nach Eingabe von Enter wird die Funktion
Produktspeichern() aufgerufen.
Wird der Bestand verändert, wird die
Variable Bestandsänderung auf true
gesetzt.
Wird die Produktlinie verändert, wird die
Variable Produktlinienänderung auf true
gesetzt.
Öffnet die Form Browser_klein und
ermöglicht das Anlegen eines neuen
Datenbankeintrags.
4.4.15 UserControl Produkt_suchen
Variablen:
private Produkt tempP;
private Browser_klein P_bearbeiten;
Objekt der Klasse Produkt.
Objekt der Klasse Browser_klein.
Methoden:
public Produkt_suchen()
private void refreshDataGridView()
private void suchen(string name)
private void Produktliniencheck(string
Produktlinie, string name)
private void InitialisiereComboBox()
private void Produkt_auswahl()
private void Buttons(bool status)
private void bearbeiten()
Seite 40 von 51
Konstruktor der Klasse Produkt_suchen –
Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Ruft die Funktion Produktliniencheck() auf
und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand der übergebenen Variablen.
Füllt die ComboBox mit den Produktlinien
der Datenbank.
Die Attribute des Produktes werden in
dem Objekt tempP gespeichert.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Öffnet die Form Browser_klein und füllt
Projektdokumentation Frisc
Thomas Dudek
die Elemente des UserControls mit den
Werten.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void tb_suchbox_KeyDown(object sender,
KeyEventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void tb_suchbox_TextChanged(object
sender, EventArgs e)
private void
cb_produktlinie_SelectedIndexChanged(object
sender, EventArgs e)
private void btn_löschen_Click_1(object sender,
EventArgs e)
rivate void btn_l_löschen_Click(object sender,
EventArgs e)
private void btn_bearbeiten_Click_1(object
sender, EventArgs e)
private void btn_l_bearbeiten_Click(object
sender, EventArgs e)
private void
dataGridView_Produktverwaltung_CellDoubleClick(ob
ject sender, DataGridViewCellEventArgs e)
private void btn_Produkt_anlegen_Click(object
sender, EventArgs e)
private void btn_linie_anlegen_Click(object
sender, EventArgs e)
private void
dataGridView_Produktverwaltung_SelectionChanged(o
bject sender, EventArgs e)
Ruft die Funktion suchen() auf und
übergibt den Inhalt der Suchbox.
Nach Eingabe von Enter wird die Funktion
suchen() aufgerufen und der Inhalt der
Suchbox übergeben.
Entfernt den Filter, so dass alle Inhalte
angezeigt werden, setzt den Index der
ComboBox auf die erste Position und
löscht den Inhalt der Suchbox.
Ruft die Funktion suchen() auf und
übergibt den Inhalt der Suchbox.
Ruft die Funktion suchen() auf und
übergibt den Inhalt der Suchbox.
Löscht das markierte Produkt aus der
Datenbank. (Produkt)
Löscht die markierte Produktlinie aus der
Datenbank. (Produktlinie)
Ruft die Funktion bearbeiten() auf.
(Produkt)
Öffnet die Form Browser_klein und füllt
die Elemente des UserControls mit den
Werten. (Produktlinie)
Ruft die Funktion bearbeiten() auf.
(Produkt)
Öffnet die Form Browser_klein und
ermöglicht das Anlegen eines neuen
Datenbankeintrags. (Produkt)
Öffnet die Form Browser_klein und
ermöglicht das Anlegen eines neuen
Datenbankeintrags. (Produktlinie)
Überprüft den Inhalt des DataGridView.
4.4.16 UserControl Produktlinie_anlegen
Variablen:
private Produktlinie actual_produktlinie;
private bool bearbeiten;
Objekt der Klasse Produktlinie.
Variable, um Änderungen zu erkennen.
Methoden:
public Produktlinie_anlegen()
public void load_Produktlinie(Produkt tempP))
Seite 41 von 51
Konstruktor der Klasse
Produtklinie_anlegen – Initialisierung der
Variablen.
Weist dem Objekt actual_Produktlinie
anhand eines übergebenen Produktes
Werte zu und füllt die Elemente des
UserControls mit Werten.
Projektdokumentation Frisc
private void Produktliniespeichern()
Thomas Dudek
Speichert die neu angelegte Produktlinie
bzw. übernimmt die Änderungen einer
existierenden Produktlinie.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
private €void tb_Bezeichnung_KeyDown(object
sender, KeyEventArgs e)
Schließt die Form.
Ruft die Funktion Produktliniespeichern()
auf.
Nach Eingabe von Enter wird die Funktion
Produktliniespeichern() aufgerufen.
4.4.17 UserControl Rabatteingabe
Variablen:
Rechnungen actual_Rechnung;
private bool validierung;
private double aktuellerPreis;
Objekt der Klasse Rechnungen.
Variable, um fehlerhafte Eingabe
abzufangen.
Variable, um den aktuellen Preis zu
speichern.
Methoden:
public Rabatteingabe()
public void setRechnung(Rechnungen tempR,double
P)
public double getPreis()
Konstruktor der Klasse Rabatteingabe –
Initialisierung der Variablen.
Weist dem Objekt actual_Rechnung ein
übergebenes Objekt und der Variable
„aktuellerPreis“ ein Wert zu.
Gibt den aktuellen Preis zurück.
Event-Handler Methoden:
private void btn_abbrechen_Click(object sender,
EventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
Schließt die Form.
Speichert den eingegebenen Nachlass und
schließt die Form.
4.4.18 UserControl Rechnung_erstellen
Variablen:
private Browser Browserfenster;
static private Kunde tempK;
static private Mitarbeiter tempM;
private Frisur Frisuren;
private Produkt Produkte;
private Farbe Farben;
private Gutschein Gutscheine;
private Rechnungen Rechnung;
private bool Geschlecht_select_m;
private bool Geschlecht_select_w;
private bool Waschen_select;
private bool Trocken_select;
private bool Kurz_select;
private bool Lang_select;
private bool Rabatt5;
private bool Rabatt10;
public static bool Rabatt_per_hand = false;
private string Tabelle;
private string var1, var2, var3;
Seite 42 von 51
Objekte der Klassen Browser, Kunde,
Mitarbeiter, Frisure, Produkt, Farbe,
Gutschein und Rechnungen.
Variablen, um Änderungen zu erkennen.
Variable, um die Herkunft zu ermitteln.
Variablen, um die Frisuren zu selektieren.
Projektdokumentation Frisc
private int counter;
private int stueck;
private int Current_ID;
Thomas Dudek
Hilfsvariablen.
Methoden:
public Rechnung_erstellen()
public static void set_kunde(Kunde k)
public static void set_mitarbeiter(Mitarbeiter m)
private void refreshDataGridView()
private void create_dataGridView()
private void Buttons(bool status)
Private void checkselect()
private void deselektierung()
prviate void InitialisiereComboBox()
private bool checkAuswahl()
private void berechne_Gesamtbetrag(double p)
private void summenLabelBeschriften()
Konstruktor der Klasse
Rechnung_erstellen – Initialisierung der
Variablen und Konfigurieren des
DataGridView.
Weist dem Objekt tempK ein übergebenes
Objekt zu.
Weist dem Objekt tempM ein
übergebenes Objekt zu.
Aktualisiert den Inhalt des DataGridView.
Erstellt das DataGridView zum Anzeigen
der ausgewählten Schnitte/Produkte etc.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Überprüft welche Buttons der
Frisurauswahl aktiv sind und filtert die
Anzeige der Frisuren.
Deselektiert die Frisurauswahl.
Füllt die ComboBox mit den Produktlinien
der Datenbank.
Überprüft, ob ein Kunde und Mitarbeiter
ausgewählt worden ist.
Berechnet den Gesamtbetrag der
Rechnung.
Zeigt den Gesamtbetrag unter
Berücksichtigung eines eventuellen
Nachlasses an.
Event-Handler Methoden:
private void button1_Click(object sender,
EventArgs e)
private void btn_M_auswahl_Click(object sender,
EventArgs e)
private void btn_Frauen_Click(object sender,
EventArgs e)
private void btn_Männer_Click(object sender,
EventArgs e)
private void btn_Waschen_Click(object sender,
EventArgs e)
private void btn_Trocken_Click(object sender,
EventArgs e)
private void btn_Kurzhaar_Click(object sender,
EventArgs e)
private void btn_Langhaar_Click(object sender,
EventArgs e)
Seite 43 von 51
Öffnet die Form Browser und ermöglicht
die Auswahl eines Kunden.
Öffnet die Form Browser und ermöglicht
die Auswahl eines Mitarbeiters.
Selektiert bzw. deselektiert den Button
„Frauen“ und generiert den Filterstring für
die Anzeige der Frisuren.
Selektiert bzw. deselektiert den Button
„Männer“ und generiert den Filterstring
für die Anzeige der Frisuren.
Selektiert bzw. deselektiert den Button
„nass“ und generiert den Filterstring für
die Anzeige der Frisuren.
Selektiert bzw. deselektiert den Button
„trocken“ und generiert den Filterstring
für die Anzeige der Frisuren.
Selektiert bzw. deselektiert den Button
„Kurzhaar“ und generiert den Filterstring
für die Anzeige der Frisuren.
Selektiert bzw. deselektiert den Button
„Langhaar“ und generiert den Filterstring
Projektdokumentation Frisc
Thomas Dudek
für die Anzeige der Frisuren.
private void
cb_Produkte_SelectedIndexChanged(object sender,
EventArgs e)
private void btn_Farben_Click(object sender,
EventArgs e)
private void btn_specials_Click(object sender,
EventArgs e)
private void
dataGridView_auswahl_CellContentDoubleClick(object
sender, DataGridViewCellEventArgs e)
private void btn_speichern_Click(object sender,
EventArgs e)
private void btn_löschen_Click(object sender,
EventArgs e)
private void btn_5Prozent_Click(object sender,
EventArgs e)
Zeigt in Abhängigkeit der ausgewählten
Produktlinie die dazugehörigen Produkte
im Auswahlfenster an und überprüft, ob
das Produkt schon im Ergebnisfenster
aufgelistet ist und korrigiert
gegebenenfalls den Bestand.
Zeigt alle Farben im Auswahlfenster an.
Zeigt alle Gutscheine im Auswahlfenster
an.
Übernimmt das ausgewählte Produkt in
die Ergebnisauswahl. Zusätzlich erfolgt
eine Überprüfung, ob das Produkt schon in
der Ergebnisauswahl aufgelistet ist und
erhöht gegebenenfalls den Bestand. Ist
der Bestand 0, kann das Produkt nicht
mehr ausgewählt werden. Es erscheint
eine Fehlermeldung.
Die erstellte Rechnung wird gespeichert.
Der markierte Eintrag der Ergebnisauswahl
wird gelöscht bzw. der Bestand um 1
verringert. Der Gesamtbetrag wird
angepasst.
Der Gesamtbetrag wird um 5 % verringert.
private void btn_10Prozent_Click(object sender,
EventArgs e)
Der Gesamtbetrag wird um 10 %
verringert.
private void btn_haendisch_Click(object sender,
EventArgs e)
Öffnet die Form Browser_klein und
ermöglicht einen individuellen
Preisnachlass auf den Gesamtbetrag zu
vergeben.
Öffnet die Druckvorschau.
private void btn_vorschau_Click(object sender,
EventArgs e)
private void btn_drucken_Click(object sender,
EventArgs e)
Öffnet den Druckerauswahldialog und ruft
die Funktion Rechnung_print.print() auf.
private void Rechnung_Print_PrintPage(object
sender, System.Drawing.Printing.PrintPageEventArgs
e)
Ruft die statische Funktion
Rechnung_drucken.print() auf und druckt
die Rechnung anhand der
Übergabeparameter
4.4.19 UserControl Rechnung_suchen
Variablen:
private BindingSource Rechnungen;
Seite 44 von 51
Variable zum Speichern der Abfrage aus
der Datenbank.
Projektdokumentation Frisc
private Kunde tempK;
private Rechnungen tempR;
Thomas Dudek
Objekt der Klasse Kunde.
Objekt der Klasse Rechnungen.
Methoden:
public Rechnung_suchen()
private void refreshDataGridView()
private void suchen()
private void rechnung_auswaehlen()
private void Kunden_auswaehlen()
private void Buttons(bool status)
private DataTable checkDataTable(DataTable
Datensatz)
Konstruktor der Klasse Rechnung_suchen
– Initialisierung der Variablen und
Konfigurieren des DataGridView.
Aktualisiert und überprüft den Inhalt des
DataGridView.
Filtert den Inhalt des DataGridView
anhand des Inhalts der Suchboxen und des
Datums.
Die Attribute der Rechnung werden in dem
Objekt tempR gespeichert.
Anhand der Kunden_ID wird der Kunde
aus der Datenbank geladen.
Aktiviert bzw. deaktiviert anhand des
Übergabeparameters die Buttons.
Generiert den String „Kunde bzw.
Mitarbeiter nicht mehr im System“, falls
dieser gelöscht worden ist.
Event-Handler Methoden:
private void btn_suchen_Click(object sender,
EventArgs e)
private void dateTimePicker_CloseUp(object
sender, EventArgs e)
private void dateTimePicker_ValueChanged(object
sender, EventArgs e)
private void btn_löschen_Click(object sender,
EventArgs e)
private void btn_alle_Click(object sender,
EventArgs e)
private void
dataGridView_Rechnungen_CellDoubleClick(object
sender, DataGridViewCellEventArgs e)
Ruft die Funktion suchen() auf.
Ruft die Funktion suchen() auf.
Ruft die Funktion suchen() auf bzw.
entfernt den Filter.
Löscht die markierte Rechnung aus der
Datenbank.
Entfernt den Filter und löscht den Inhalt
der Suchboxen.
Öffnet die Form Browser und zeigt den
Kunden mit der ausgewählten Rechnung
an.
4.4.20 UserControl Startform
Methoden:
public Startform()
Konstruktor der Klasse Startform.
Bemerkung: Dieses UserControl enthält lediglich die Grafik für den Programmstart.
4.5 Klassenübersicht
4.5.1 Klasse dbHandler
Methoden:
private static MySqlConnection getconnection()
public static DataTable getData(string
Sql_Statement)
Seite 45 von 51
Erstellt den ConnectionString.
Liefert anhand einer SQL-Abfrage ein
DataTable mit dem Abfrageergebnis
zurück.
Projektdokumentation Frisc
public static void sendCommand(string
Sql_Statement)
public static double getValue(string
Sql_Statement)
Thomas Dudek
Methode zum Ausführen von Delete-,
Update- und Insert-Befehlen.
Liefert anhand einer SQL-Abfrage einen
Zahlenwert zurück.
4.5.2 Klasse Farbe
Variablen:
private string Bezeichnung, Länge;
private double Preis;
private int Farbe_ID;
Variablen, um die Attriubte der Farbe zu
speichern.
Variable, um den Preis zu speichern.
Variable, um die ID der Farbe zu speichern.
Methoden:
public Farbe()
public void load_Farbe(DataGridViewRow farbenRow)
public void deleteFarbe(int id)
public void saveFarbe()
public bool checkFarbe()
public
public
public
public
public
public
public
string getBezeichnung()
double getPreis()
string getLänge()
int getID()
bool setBezeichnung(string bez)
bool setPreis(string P)
void setLänge(string art)
Konstruktor der Klasse Farbe –
Initialisierung der Variable.
Anhand eines übergebenen
DataGridViewRow werden die Variablen
mit Werten belegt.
Anhand einer übergebenen ID wird die
Farbe gelöscht.
Methode zum Speichern bzw. Updaten
einer Farbe.
Überprüfung, ob die Farbe im System
bereits vorhanden ist.
Get-Methoden der Klasse.
Set-Methoden der Klasse inklusive
Überprüfung der Eingaben.
4.5.3 Klasse Frisur
Variablen:
private string Bezeichnung, Länge, Nass_Trocken,
Geschlecht;
private double Preis;
private int Frisur_ID;
Variablen, um die Attribute der Frisur zu
speichern.
Variable, um den Preis zu speichern.
Variable, um die ID der Frisur zu speichern.
Methoden:
public Frisur()
public void load_Frisur(DataGridViewRow
frisurRow)
public void deleteFrisur(int id)
public void saveFrisur()
public bool checkFrisur()
public string getBezeichnung()
public double getPreis()
Seite 46 von 51
Initialisierung der Variablen.
Anhand eines übergebenen
DataGridViewRow werden die Variablen
mit Werten belegt.
Anhand einer übergebenen ID wird die
Frisur gelöscht.
Methode zum Speichern bzw. Updaten
einer Frisur.
Überprüfung, ob die Frisur im System
bereits vorhanden ist.
Get-Methoden der Klasse.
Projektdokumentation Frisc
public
public
public
public
public
public
public
public
public
string getLänge()
string getNassTrocken()
int getFrisurenID()
string getGeschlecht()
bool setBezeichnung(string Bez)
bool setPreis(string P)
void setLänge(string länge)
void setGeschlecht(string geschlecht)
void setArt(string art)
Thomas Dudek
Set-Methoden der Klasse inklusive
Überprüfung der Eingaben.
4.5.4 Klasse Gutschein
Variablen:
private string Bezeichnung;
private double Preis;
private int Gutschein_ID;
Variable, um die Bezeichnung des
Gutscheins zu speichern
Variable, um den Preis zu speichern.
Variable, um die ID des Gutscheins zu
speichern.
Methoden:
public Gutschein()
public void load_Gutschein(DataGridViewRow
GutscheinRow)
public void deleteGutschein(int id)
public void saveGutschein()
public bool checkGutschein()
public
public
public
public
public
string getBezeichnung()
double getPreis()
int getID()
bool setBezeichnung(string Bez)
bool setPreis(string P)
Konstruktor der Klasse Gutschein –
Initialisierung der Variable.
Anhand eines übergebenen
DataGridViewRow werden die Variablen
mit Werten belegt.
Anhand einer übergebenen ID wird der
Gutschein gelöscht.
Methode zum Speichern bzw. Updaten
eines Gutscheins.
Überprüfung, ob der Gutschein im System
bereits vorhanden ist.
Get-Methoden der Klasse.
Set-Methoden der Klasse inklusive
Überprüfung der Eingaben.
4.5.5 Klasse Kunde
Variablen:
private string Vorname, Nachname, Strasse,
Hausnummer, Postleitzahl, Ort, Geburtstag,
Geschlecht, Telefon, Bemerkung;
private int Kunden_ID;
Variablen, um die Attribute des Kunden zu
speichern.
Variable, um die ID des Kunden zu
speichern.
Methoden:
public Kunde()
public void load_Kunde(DataGridViewRow kundenRow)
public void load_Kunde(int ID)
Seite 47 von 51
Konstruktor der Klasse Kunde –
Initialisierung der Variablen.
Anhand eines übergebenen
DataGridViewRow werden die Variablen
mit Werten belegt.
Anhand einer übergebenen ID wird ein
Kunde aus der Datenbank abgerufen. Die
Variablen werden mit dessen Attributen
Projektdokumentation Frisc
public void saveKunde()
public void deleteKunde(int id)
public bool checkKunde()
public DataTable getRechnung()
public DataTable getRechnung(int Rechnungs_ID)
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
int getKunden_ID()
string getVorname()
string getNachname()
string getStrasse()
string getHausnummer()
string getPostleitzahl()
string getOrt()
string getGeburtstag()
string getGeschlecht()
string getTelefon()
string getBemerkung()
string getAdresse()
bool validierung50(string text)
bool setVorname(string vorname)
bool setNachname(string nachname)
bool setStrasse(string strasse)
bool setHausnummer(string hausnummer)
bool setPostleitzahl(string postleitzahl)
bool setOrt(string ort)
bool setGeburtstag(string geburtstag)
bool setGeschlecht(string geschlecht)
bool setTelefon(string telefon)
bool setBemerkung(string bemerkung)
Thomas Dudek
belegt.
Methode zum Speichern bzw. Updaten
eines Kunden.
Anhand einer übergebenen ID wird der
Kunde gelöscht.
Überprüfung, ob der Kunde im System
bereits vorhanden ist.
Methode die die letzten drei Rechnungen
eines Kunden zurückgibt.
Gibt die Rechnungsdetails einer Rechnung
anhand der Kunden- und Rechnungs_ID
zurück.
Get-Methoden der Klasse.
Set-Methoden der Klasse inklusive
Überprüfung der Eingaben.
4.5.6 Klasse Mitarbeiter
Variablen:
private string Vorname, Nachname;
private int Mitarbeiter_ID;
Variablen, um die Attribute des
Mitarbeiters zu speichern.
Variable, um die ID des Mitarbeiters zu
speichern.
Methoden:
public Mitarbeiter()
public void load_Mitarbeiter(DataGridViewRow
mitarbeiterRow)
public void deleteMitarbeiter(int id)
public void saveMitarbeiter()
public bool checkMitarbeiter()
Seite 48 von 51
Konstruktor der Klasse Mitarbeiter –
Initialisierung der Variablen.
Anhand eines übergebenen
DataGridViewRow werden die Variablen
mit Werten belegt.
Anhand einer übergebenen ID wird der
Mitarbeiter gelöscht.
Methode zum Speichern bzw. Updaten
eines Mitarbeiters.
Überprüfung, ob der Mitarbeiter im
System bereits vorhanden ist.
Projektdokumentation Frisc
public
public
public
public
public
int getMitarbeiter_ID()
string getVorname()
string getNachname()
bool setVorname(string vorname)
bool setNachname(string nachname)
Thomas Dudek
Get-Methoden der Klasse.
Set-Methoden der Klasse inklusive
Überprüfung der Eingaben.
4.5.7 Klasse Produkt
Variablen:
private DataTable Buffer;
private int Produkt_ID,Produktlinien_ID;
private decimal Bestand;
private double Preis;
private string Bezeichnung, Produktlinie;
Variable, um eine Datenbankabfrage zu
speichern.
Variablen, um die ID des Produktes und
der Produktlinie zu speichern.
Variable, um den Bestand zu speichern.
Variable, um den Preis zu speichern.
Variablen, um die Bezeichnung eines
Produktes und die Produktlinie zu
speichern.
Methoden:
public Produkt()
public void load_Produkt(DataGridViewRow
produktRow)
public DataTable getProduktForRechnung()
public void deleteProdukt(int id))
public DataTable getProdukte(string linie)
public void getProduktlinie_ID()
public void saveProdukt()
public bool checkProdukt()
public
public
public
public
public
public
public
public
public
public
string getBezeichnung()
string getProduktlinie()
double getPreis()
decimal getBestand()
int getID()
int getProduktlinieID()
bool setBezeichnung(string Bez)
bool setPreis(string P)
void setBestand(decimal Best)
bool setProduktlinie(string Linie)
Konstruktor der Klasse Produkt –
Initialisierung der Variablen.
Anhand eines übergebenen
DataGridViewRow werden die Variablen
mit Werten belegt.
Liefert alle Produkte aus der Datenbank
zurück.
Anhand einer übergebenen ID wird das
Produkt gelöscht.
Liefert anhand der Produktlinie alle
Produkte der Datenbank zurück.
Liefert anhand der Produktlinie die
dazugehörige ID zurück.
Methode zum Speichern bzw. Updaten
eines Produktes.
Überprüfung, ob das Produkt im System
bereits vorhanden ist.
Get-Methoden der Klasse.
Set-Methoden der Klasse inklusive
Überprüfung der Eingaben.
4.5.8 Klasse Produktlinie
Variablen:
private string Bezeichnung;
private int Produktlinie_ID;
Seite 49 von 51
Variable, um die Bezeichnung zu
speichern.
Variable, um die ID zu speichern.
Projektdokumentation Frisc
Thomas Dudek
Methoden:
public Produktlinie()
public void deleteProduktlinie(int linienID)
public void saveProduktlinie()
public string getBezeichnung()
public void setProduktlinien_ID
public void setBezeichnung(string Bez)
Konstruktor der Klasse Produktlinie –
Initialisierung der Variablen.
Anhand einer übergebenen ID wird
Produktlinie gelöscht.
Methode zum Speichern bzw. Updaten
einer Produktlinie.
Get-Methode der Klasse.
Set-Methoden der Klasse.
4.5.9 Klasse Rechnung_drucken
Methoden:
public static void
print(System.Drawing.Printing.PrintPageEventArgs
e,DataGridView Daten,string Mitarbeiter,Kunde
tempK,double Preis,string Date,string Rabatt)
Anhand der übergebenen Parameter wird
das Druckformular erstellt.
4.5.10 Klasse Rechnungen
Variablen:
private double Preis;
private double PreisOhneNachlass;
private double Rabatt;
private int Rechnung_ID;
private DateTime SystemDateTime;
private
private
private
private
private
private
string
string
string
string
string
string
Datum;
Kunde;
Mitarbeiter;
Prozentsatz;
Rabattbetrag;
Art;
Variablen, um den aktuellen Preis, den
Preis ohne Nachlass und den Rabatt zu
speichern.
Variable, um die ID der Rechnung zu
speichern.
Variable, um die Systemzeit speichern zu
können.
Variablen für die Rechnungserstellung.
Methoden:
public Rechnungen()
public void load_Rechnung(DataGridViewRow
rechnungRow)
public DataTable getRechnung()
public void deleteRechnung(int id)
public
public
public
public
public
public
public
public
public
double getPreis()
string getDatum()
int getRechnung_ID()
string getMitarbeiter()
string getKunde()
string getRabattbetrag()
double getPreisOhneNachlass()
string getArt()
string getProzentsatz()
Seite 50 von 51
Konstruktor der Klasse Rechnungen –
Initialisierung der Variablen.
Anhand eines übergebenen
DataGridViewRow werden die Variablen
mit Werten belegt.
Liefert alle Rechnungen aus der Datenbank
zurück.
Anhand einer übergebenen ID wird die
Rechnung gelöscht.
Get-Methoden der Klasse.
Projektdokumentation Frisc
public void setPreis()
public void setPreisneu(double p)
public bool setRabatt(string R)
public bool setArt(string A)
public void setRabatt()
public double setRabattforLabel(double wert)
public void saveRechnung(DataGridView
Posten,Mitarbeiter tempM,Kunde tempK)
5.
Thomas Dudek
Set-Methoden der Klasse
Speichert anhand der Übergabeparameter
die Rechnung.
Quellen
Buch:
Windows Forms mit Visual C++ ISBN 978-3-935042-88-8
Visual C#.NET Grundlagen und Profiwissen ISBN 3-446-22021-6
Internet:
Seite 51 von 51
www.dev.mysql.com
http://openbook.galileocomputing.de/visual_csharp/
http://msdn.microsoft.com
Herunterladen