diff --git a/SkyTeam/DataBase.cs b/SkyTeam/DataBase.cs new file mode 100644 index 0000000..38ffee8 --- /dev/null +++ b/SkyTeam/DataBase.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using MySql.Data.MySqlClient; + +namespace SkyTeam +{ + internal class DataBase + { + private string mySqlConnectionString = "Server=mysql.pb.bib.de;uid=pbt3h24akh;pwd=Dd3dwQgPeNxW;database=pbt3h24akh_SkyTeam;"; + + public bool TestConnection() + { + try + { + using (var conn = new MySqlConnection(mySqlConnectionString)) + { + conn.Open(); // versuchen, die Verbindung zu öffnen + Console.WriteLine("Verbindung erfolgreich!"); + return true; + } + } + catch (MySqlException ex) + { + Console.WriteLine("Verbindungsfehler: " + ex.Message); + return false; + } + } + + } +} diff --git a/SkyTeam/MainWindow.xaml.cs b/SkyTeam/MainWindow.xaml.cs index e3e2155..3a14059 100644 --- a/SkyTeam/MainWindow.xaml.cs +++ b/SkyTeam/MainWindow.xaml.cs @@ -19,6 +19,18 @@ namespace SkyTeam public MainWindow() { InitializeComponent(); + TestDatabaseConnection(); + } + + private void TestDatabaseConnection() + { + DataBase db = new DataBase(); + bool success = db.TestConnection(); + + if (success) + MessageBox.Show("Datenbank ist verfügbar!", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information); + else + MessageBox.Show("Probleme mit der Verbindung.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } } } \ No newline at end of file diff --git a/SkyTeam/Mitarbeiter.cs b/SkyTeam/Mitarbeiter.cs index f4396fe..88e6288 100644 --- a/SkyTeam/Mitarbeiter.cs +++ b/SkyTeam/Mitarbeiter.cs @@ -12,7 +12,7 @@ namespace SkyTeam private string vorname { get; set; } private string nachname { get; set; } private string position { get; set; } - private int alter { get; set; } + private int mitarbeiterAlter { get; set; } private float arbeitsstundenProWoche { get; set; } private Boolean istVerfuegbar { get; set; } } diff --git a/SkyTeam/SkyTeam.csproj b/SkyTeam/SkyTeam.csproj index e3e33e3..694c014 100644 --- a/SkyTeam/SkyTeam.csproj +++ b/SkyTeam/SkyTeam.csproj @@ -1,11 +1,15 @@  - WinExe + Exe net8.0-windows enable enable true + + + + diff --git a/SkyTeam/SkyTeam.sql b/SkyTeam/SkyTeam.sql new file mode 100644 index 0000000..21f5b3c --- /dev/null +++ b/SkyTeam/SkyTeam.sql @@ -0,0 +1,75 @@ +SET FOREIGN_KEY_CHECKS = 0; + +DROP TABLE IF EXISTS fluege; +DROP TABLE IF EXISTS piloten; +DROP TABLE IF EXISTS flugzeuge; +DROP TABLE IF EXISTS mitarbeiter; +DROP TABLE IF EXISTS users; + +SET FOREIGN_KEY_CHECKS = 1; + +CREATE TABLE users ( + Id INT AUTO_INCREMENT PRIMARY KEY, + Vorname VARCHAR(100) NOT NULL, + Nachname VARCHAR(100) NOT NULL, + Email VARCHAR(100) NOT NULL, + PasswortHash VARCHAR(255) NOT NULL, + Rolle VARCHAR(50) NOT NULL, + Stadt VARCHAR(100), + Anrede VARCHAR(20), + Geburtsdatum DATE, + CreatedAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE flugzeuge ( + Id INT AUTO_INCREMENT PRIMARY KEY, + Modell VARCHAR(100) NOT NULL, + Plaetze INT NOT NULL, + Lagerflaeche FLOAT NOT NULL, + Gewicht FLOAT NOT NULL, + Kerosinverbrauch FLOAT NOT NULL, + Stundengeschwindigkeit FLOAT NOT NULL, + Stundenstand FLOAT NOT NULL, + Herstellungsdatum DATE NOT NULL, + IstDefekt BOOLEAN NOT NULL +); + +CREATE TABLE piloten ( + Id INT AUTO_INCREMENT PRIMARY KEY, + Vorname VARCHAR(100) NOT NULL, + Nachname VARCHAR(100) NOT NULL, + Flugerfahrung FLOAT NOT NULL, + Groesse FLOAT NOT NULL, + Bewertung FLOAT NOT NULL, + Pilotalter DATE NOT NULL, + Gender VARCHAR(10), + IstVerfuegbar BOOLEAN NOT NULL, + Sprachen TEXT +); + +CREATE TABLE fluege ( + Id INT AUTO_INCREMENT PRIMARY KEY, + Abflugort VARCHAR(100) NOT NULL, + Zielort VARCHAR(100) NOT NULL, + Abflugdatum DATETIME NOT NULL, + Ankunftsdatum DATETIME NOT NULL, + Flugnummer VARCHAR(20) NOT NULL, + Preis DECIMAL(10,2) NOT NULL, + Created DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + FlugzeugId INT NOT NULL, + PilotId INT NOT NULL, + ErstelltVon INT NOT NULL, + FOREIGN KEY (FlugzeugId) REFERENCES flugzeuge(Id), + FOREIGN KEY (PilotId) REFERENCES piloten(Id), + FOREIGN KEY (ErstelltVon) REFERENCES users(Id) +); + +CREATE TABLE mitarbeiter ( + Id INT AUTO_INCREMENT PRIMARY KEY, + Vorname VARCHAR(100) NOT NULL, + Nachname VARCHAR(100) NOT NULL, + Position VARCHAR(100) NOT NULL, + MitarbeiterAlter INT NOT NULL, + ArbeitsstundenProWoche FLOAT NOT NULL, + IstVerfuegbar BOOLEAN NOT NULL +); diff --git a/SkyTeam/User.cs b/SkyTeam/User.cs index 2f806e4..47db151 100644 --- a/SkyTeam/User.cs +++ b/SkyTeam/User.cs @@ -12,10 +12,10 @@ namespace SkyTeam private string vorname { get; set; } private string nachname { get; set; } private string email { get; set; } - private string passwort { get; set; } + private string passwortHash { get; set; } + private string rolle { get; set; } private string stadt { get; set; } private DateTime geburtsdatum { get; set; } private string anrede { get; set; } - private DateTime created { get; set; } } } diff --git a/SkyTeam/flugzeug.cs b/SkyTeam/flugzeug.cs index 930a66f..3c06e13 100644 --- a/SkyTeam/flugzeug.cs +++ b/SkyTeam/flugzeug.cs @@ -13,11 +13,10 @@ namespace SkyTeam private DateTime herstellungsdatum { get; set; } private int plaetze { get; set; } private float lagerflache { get; set; } - private float weicht { get; set; } + private float gewicht { get; set; } private float kerosineverbrauch { get; set; } private float stundengeschwindigkeit { get; set; } private float stundenstand { get; set; } - private Boolean istVerfuegbar { get; set; } private Boolean istDefekt { get; set; } } } diff --git a/SkyTeam/pilot.cs b/SkyTeam/pilot.cs index 9ab079a..1d4bad3 100644 --- a/SkyTeam/pilot.cs +++ b/SkyTeam/pilot.cs @@ -15,7 +15,7 @@ namespace SkyTeam private float groesse { get; set; } private float bewertung { get; set; } private List sprachen { get; set; } - private DateTime alter { get; set; } + private DateTime pilotalter { get; set; } private string gender { get; set; } private Boolean istVerfuegbar { get; set; } } diff --git a/image001.tif b/image001.tif new file mode 100644 index 0000000..5ada38a Binary files /dev/null and b/image001.tif differ