Fertigstellung
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							@@ -22,11 +22,11 @@
 | 
				
			|||||||
              "Title": "Program.cs",
 | 
					              "Title": "Program.cs",
 | 
				
			||||||
              "DocumentMoniker": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs",
 | 
					              "DocumentMoniker": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs",
 | 
				
			||||||
              "RelativeDocumentMoniker": "PMCProjekt\\Program.cs",
 | 
					              "RelativeDocumentMoniker": "PMCProjekt\\Program.cs",
 | 
				
			||||||
              "ToolTip": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs*",
 | 
					              "ToolTip": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs",
 | 
				
			||||||
              "RelativeToolTip": "PMCProjekt\\Program.cs*",
 | 
					              "RelativeToolTip": "PMCProjekt\\Program.cs",
 | 
				
			||||||
              "ViewState": "AQIAAHMAAAAAAAAAAAAkwHoAAAAAAAAA",
 | 
					              "ViewState": "AQIAAAMAAAAAAAAAAAAAAE0AAAAJAAAA",
 | 
				
			||||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
					              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
				
			||||||
              "WhenOpened": "2024-06-14T09:14:59.548Z",
 | 
					              "WhenOpened": "2024-08-30T09:51:48.989Z",
 | 
				
			||||||
              "EditorCaption": ""
 | 
					              "EditorCaption": ""
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,8 @@
 | 
				
			|||||||
using System;
 | 
					using System;
 | 
				
			||||||
using System.IO;
 | 
					using System.IO;
 | 
				
			||||||
using System.Text.RegularExpressions;
 | 
					using System.Text.RegularExpressions;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using MySql.Data.MySqlClient;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace PMCProjekt
 | 
					namespace PMCProjekt
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -8,12 +10,28 @@ namespace PMCProjekt
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        static void Main(string[] args)
 | 
					        static void Main(string[] args)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            // Kundennummer eingeben
 | 
					            string dateiPfad = "/Schule/PMC/import_yutani.csv";
 | 
				
			||||||
            Console.Write("Bitte geben Sie die Kundennummer ein (z.B. K2-002): ");
 | 
					            string protokollPfad = "/Schule/PMC/ungueltige_Daten.csv";
 | 
				
			||||||
            string kundennummer = Console.ReadLine();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Datei einlesen
 | 
					            // MySQL-Verbindungszeichenfolge
 | 
				
			||||||
            string dateiPfad = "C:/Schule/PMC/import_yutani.csv";
 | 
					            string connectionString = "server=localhost;uid=root;pwd=root;database=import_export";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Abfrage der Kundennummer vom Benutzer
 | 
				
			||||||
 | 
					            Console.Write("Bitte geben Sie die Kundennummer (clientno) ein: ");
 | 
				
			||||||
 | 
					            string clientno = Console.ReadLine();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            int clientId = HoleClientId(connectionString, clientno);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (clientId == 0)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Console.WriteLine("Ungültige Kundennummer. Programm wird beendet.");
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            List<List<string>> alleDatensaetze = new List<List<string>>();
 | 
				
			||||||
 | 
					            List<string> aktuellerDatensatz = new List<string>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Überprüfen, ob die Datei existiert
 | 
				
			||||||
            if (File.Exists(dateiPfad))
 | 
					            if (File.Exists(dateiPfad))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                using (StreamReader sr = new StreamReader(dateiPfad))
 | 
					                using (StreamReader sr = new StreamReader(dateiPfad))
 | 
				
			||||||
@@ -21,37 +39,35 @@ namespace PMCProjekt
 | 
				
			|||||||
                    string zeile;
 | 
					                    string zeile;
 | 
				
			||||||
                    while ((zeile = sr.ReadLine()) != null)
 | 
					                    while ((zeile = sr.ReadLine()) != null)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        // Werte aus der Zeile extrahieren
 | 
					                        if (zeile.StartsWith("Frau") || zeile.StartsWith("Herr") || zeile.StartsWith("Divers"))
 | 
				
			||||||
                        string[] werte = zeile.Split(',');
 | 
					 | 
				
			||||||
                        if (werte.Length >= 4)
 | 
					 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            string anrede = werte[0];
 | 
					                            // Wenn ein neuer Datensatz beginnt, speichere den vorherigen
 | 
				
			||||||
                            string vorname = werte[1];
 | 
					                            if (aktuellerDatensatz.Count > 0)
 | 
				
			||||||
                            string nachname = werte[2];
 | 
					                            {
 | 
				
			||||||
                            string geburtsdatum = werte[3];
 | 
					                                alleDatensaetze.Add(new List<string>(aktuellerDatensatz));
 | 
				
			||||||
                            string adresse = werte.Length > 4 ? werte[4] : null;
 | 
					                                aktuellerDatensatz.Clear();
 | 
				
			||||||
                            string plz = werte.Length > 5 ? werte[5] : null;
 | 
					                            }
 | 
				
			||||||
                            string stadt = werte.Length > 6 ? werte[6] : null;
 | 
					                        }
 | 
				
			||||||
                            string email = werte.Length > 7 ? werte[7] : null;
 | 
					 | 
				
			||||||
                            string telefonnummern = werte.Length > 8 ? werte[8] : null;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            // Daten validieren und ungültige Daten protokollieren
 | 
					                        // Füge die aktuelle Zeile dem Datensatz hinzu
 | 
				
			||||||
                            if (!DatenValidieren(anrede, vorname, nachname, geburtsdatum, adresse, plz, stadt, email, telefonnummern))
 | 
					                        aktuellerDatensatz.Add(zeile);
 | 
				
			||||||
                            {
 | 
					                    }
 | 
				
			||||||
                                ProtokolliereUngueltigeDaten(werte);
 | 
					
 | 
				
			||||||
                                Console.WriteLine("Ungültige Daten: " + string.Join(",", werte));
 | 
					                    // Füge den letzten Datensatz hinzu, falls vorhanden
 | 
				
			||||||
                            }
 | 
					                    if (aktuellerDatensatz.Count > 0)
 | 
				
			||||||
                            else
 | 
					                    {
 | 
				
			||||||
                            {
 | 
					                        alleDatensaetze.Add(aktuellerDatensatz);
 | 
				
			||||||
                                Console.WriteLine("Gültige Daten: " + string.Join(",", werte));
 | 
					                    }
 | 
				
			||||||
                            }
 | 
					                }
 | 
				
			||||||
                        }
 | 
					
 | 
				
			||||||
                        else
 | 
					                // Verarbeitung aller gesammelten Datensätze
 | 
				
			||||||
                        {
 | 
					                using (MySqlConnection connection = new MySqlConnection(connectionString))
 | 
				
			||||||
                            // Protokolliere Zeilen mit zu wenigen Datenfeldern
 | 
					                {
 | 
				
			||||||
                            ProtokolliereUngueltigeDaten(werte);
 | 
					                    connection.Open();
 | 
				
			||||||
                            Console.WriteLine("Ungültige Daten (zu wenige Felder): " + string.Join(",", werte));
 | 
					
 | 
				
			||||||
                        }
 | 
					                    foreach (var datensatz in alleDatensaetze)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        VerarbeiteDatensatz(datensatz, protokollPfad, connection, clientId);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -61,79 +77,227 @@ namespace PMCProjekt
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static bool DatenValidieren(string anrede, string vorname, string nachname, string geburtsdatum, string adresse, string plz, string stadt, string email, string telefonnummern)
 | 
					        static int HoleClientId(string connectionString, string clientno)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            bool istGueltig = true;
 | 
					            using (MySqlConnection connection = new MySqlConnection(connectionString))
 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Geburtsdatum validieren
 | 
					 | 
				
			||||||
            if (!PrüfGeburtstag(geburtsdatum))
 | 
					 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Console.WriteLine($"Ungültiges Geburtsdatum: {geburtsdatum}");
 | 
					                connection.Open();
 | 
				
			||||||
                istGueltig = false;
 | 
					                string query = "SELECT id FROM client WHERE clientno = @ClientNo";
 | 
				
			||||||
            }
 | 
					                using (MySqlCommand command = new MySqlCommand(query, connection))
 | 
				
			||||||
 | 
					 | 
				
			||||||
            // E-Mail-Adresse validieren
 | 
					 | 
				
			||||||
            if (!string.IsNullOrEmpty(email) && !PrüfEmail(email))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                Console.WriteLine($"Ungültige E-Mail-Adresse: {email}");
 | 
					 | 
				
			||||||
                istGueltig = false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Postleitzahl validieren
 | 
					 | 
				
			||||||
            if (!string.IsNullOrEmpty(plz) && !PrüfPLZ(plz))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                Console.WriteLine($"Ungültige Postleitzahl: {plz}");
 | 
					 | 
				
			||||||
                istGueltig = false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Telefonnummern validieren
 | 
					 | 
				
			||||||
            if (!string.IsNullOrEmpty(telefonnummern))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                string[] telefonNummern = telefonnummern.Split(';');
 | 
					 | 
				
			||||||
                foreach (var telefon in telefonNummern)
 | 
					 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (!PrüfTelefon(telefon))
 | 
					                    command.Parameters.AddWithValue("@ClientNo", clientno);
 | 
				
			||||||
                    {
 | 
					                    var result = command.ExecuteScalar();
 | 
				
			||||||
                        Console.WriteLine($"Ungültige Telefonnummer: {telefon}");
 | 
					                    return result != null ? Convert.ToInt32(result) : 0;
 | 
				
			||||||
                        istGueltig = false;
 | 
					                }
 | 
				
			||||||
                    }
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static void VerarbeiteDatensatz(List<string> datensatz, string protokollPfad, MySqlConnection connection, int clientId)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string gesamteZeile = string.Join(";", datensatz);
 | 
				
			||||||
 | 
					            string[] werte = gesamteZeile.Split(';');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            string anrede = "";
 | 
				
			||||||
 | 
					            string vorname = "";
 | 
				
			||||||
 | 
					            string nachname = "";
 | 
				
			||||||
 | 
					            string geburtsdatum = "";
 | 
				
			||||||
 | 
					            string strasse = "";
 | 
				
			||||||
 | 
					            string plz = "";
 | 
				
			||||||
 | 
					            string stadt = "";
 | 
				
			||||||
 | 
					            string email = "";
 | 
				
			||||||
 | 
					            List<string> telefonnummern = new List<string>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            for (int i = 0; i < werte.Length; i++)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (werte[i] == "Frau" || werte[i] == "Herr" || werte[i] == "Divers")
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    anrede = werte[i];
 | 
				
			||||||
 | 
					                    vorname = werte[i + 1];
 | 
				
			||||||
 | 
					                    nachname = werte[i + 2];
 | 
				
			||||||
 | 
					                    geburtsdatum = werte[i + 3];
 | 
				
			||||||
 | 
					                    i += 3;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (werte[i] == "Adresse")
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    strasse = werte[i + 1];
 | 
				
			||||||
 | 
					                    plz = werte[i + 2];
 | 
				
			||||||
 | 
					                    stadt = werte[i + 3];
 | 
				
			||||||
 | 
					                    i += 3;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (werte[i] == "E-Mail")
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    email = werte[i + 1];
 | 
				
			||||||
 | 
					                    i += 1;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (werte[i] == "Telefon")
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    telefonnummern.Add($"{werte[i + 1]} {werte[i + 2]}");
 | 
				
			||||||
 | 
					                    i += 2;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return istGueltig;
 | 
					            bool gueltig = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!PruefeGeburtstag(geburtsdatum))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Console.WriteLine($"Ungültiges Geburtsdatum: {geburtsdatum}");
 | 
				
			||||||
 | 
					                gueltig = false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!string.IsNullOrEmpty(email) && !PruefeEmail(email))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Console.WriteLine($"Ungültige E-Mail-Adresse: {email}");
 | 
				
			||||||
 | 
					                gueltig = false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!string.IsNullOrEmpty(plz) && !PruefePLZ(plz))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Console.WriteLine($"Ungültige Postleitzahl: {plz}");
 | 
				
			||||||
 | 
					                gueltig = false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (var telefon in telefonnummern)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (!PruefeTelefon(telefon))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    Console.WriteLine($"Ungültige Telefonnummer: {telefon}");
 | 
				
			||||||
 | 
					                    gueltig = false;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (gueltig)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                int userId = GeneriereNaechsteId("user", connection);
 | 
				
			||||||
 | 
					                EinfuegenInUserTabelle(userId, anrede, vorname, nachname, geburtsdatum, connection, clientId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                EinfuegenInAddressTabelle(GeneriereNaechsteId("address", connection), userId, strasse, plz, stadt, connection);
 | 
				
			||||||
 | 
					                EinfuegenInEmailTabelle(GeneriereNaechsteId("email", connection), userId, email, connection);
 | 
				
			||||||
 | 
					                foreach (var telefon in telefonnummern)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    string[] telefonTeile = telefon.Split(' ');
 | 
				
			||||||
 | 
					                    EinfuegenInPhoneTabelle(GeneriereNaechsteId("phone", connection), userId, telefonTeile[0], telefonTeile[1], connection);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                ProtokolliereUngueltigeDaten(datensatz, protokollPfad);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static bool PrüfGeburtstag(string geburtsdatum)
 | 
					        static int GeneriereNaechsteId(string tabelle, MySqlConnection connection)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string pattern = @"^\d{4}\-\d{2}\-\d{2}$";
 | 
					            string query = $"SELECT IFNULL(MAX(id), 0) + 1 FROM {tabelle}";
 | 
				
			||||||
 | 
					            using (MySqlCommand command = new MySqlCommand(query, connection))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return Convert.ToInt32(command.ExecuteScalar());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static void EinfuegenInUserTabelle(int userId, string anrede, string vorname, string nachname, string geburtsdatum, MySqlConnection connection, int clientId)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string query = "INSERT INTO user (id, clientId, genderId, firstname, lastname, birthdate, created) " +
 | 
				
			||||||
 | 
					                           "VALUES (@Id, @ClientId, @GenderId, @Vorname, @Nachname, @Geburtsdatum, @Created)";
 | 
				
			||||||
 | 
					            using (MySqlCommand command = new MySqlCommand(query, connection))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Id", userId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@ClientId", clientId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@GenderId", GetGenderId(anrede, connection));
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Vorname", vorname);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Nachname", nachname);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Geburtsdatum", DateTime.Parse(geburtsdatum));
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Created", DateTime.Now);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                command.ExecuteNonQuery();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static int GetGenderId(string anrede, MySqlConnection connection)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string query = "SELECT id FROM gender WHERE description = @Anrede";
 | 
				
			||||||
 | 
					            using (MySqlCommand command = new MySqlCommand(query, connection))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Anrede", anrede);
 | 
				
			||||||
 | 
					                return Convert.ToInt32(command.ExecuteScalar());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static void EinfuegenInAddressTabelle(int addressId, int userId, string strasse, string plz, string stadt, MySqlConnection connection)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string query = "INSERT INTO address (id, userId, street, postalcode, city) " +
 | 
				
			||||||
 | 
					                           "VALUES (@Id, @UserId, @Strasse, @PLZ, @Stadt)";
 | 
				
			||||||
 | 
					            using (MySqlCommand command = new MySqlCommand(query, connection))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Id", addressId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@UserId", userId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Strasse", strasse);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@PLZ", plz);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Stadt", stadt);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                command.ExecuteNonQuery();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static void EinfuegenInEmailTabelle(int emailId, int userId, string email, MySqlConnection connection)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string query = "INSERT INTO email (id, userId, email) VALUES (@Id, @UserId, @Email)";
 | 
				
			||||||
 | 
					            using (MySqlCommand command = new MySqlCommand(query, connection))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Id", emailId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@UserId", userId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Email", email);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                command.ExecuteNonQuery();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static void EinfuegenInPhoneTabelle(int phoneId, int userId, string phoneprefix, string phonenumber, MySqlConnection connection)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string query = "INSERT INTO phone (id, userId, phoneprefix, phonenumber) VALUES (@Id, @UserId, @PhonePrefix, @PhoneNumber)";
 | 
				
			||||||
 | 
					            using (MySqlCommand command = new MySqlCommand(query, connection))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@Id", phoneId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@UserId", userId);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@PhonePrefix", phoneprefix);
 | 
				
			||||||
 | 
					                command.Parameters.AddWithValue("@PhoneNumber", phonenumber);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                command.ExecuteNonQuery();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static bool PruefeGeburtstag(string geburtsdatum)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string pattern = @"^\d{2}\.\d{2}\.\d{4}$";
 | 
				
			||||||
            return Regex.IsMatch(geburtsdatum, pattern);
 | 
					            return Regex.IsMatch(geburtsdatum, pattern);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static bool PrüfEmail(string email)
 | 
					        static bool PruefeEmail(string email)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string pattern = @"^[a-z]+\.[a-z]+@[a-z]+\.[a-z]{2,}$";
 | 
					            string pattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";
 | 
				
			||||||
            return Regex.IsMatch(email, pattern);
 | 
					            return Regex.IsMatch(email, pattern);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static bool PrüfPLZ(string plz)
 | 
					        static bool PruefePLZ(string plz)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string pattern = @"^[0-9]{5}$";
 | 
					            string pattern = @"^\d{5}$";
 | 
				
			||||||
            return Regex.IsMatch(plz, pattern);
 | 
					            return Regex.IsMatch(plz, pattern);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static bool PrüfTelefon(string telefon)
 | 
					        static bool PruefeTelefon(string telefon)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string pattern = @"^[0-9]{3,5}\s?[0-9]{4,10}$";
 | 
					            string pattern = @"^\d{3,5}\s?\d{4,10}$";
 | 
				
			||||||
            return Regex.IsMatch(telefon, pattern);
 | 
					            return Regex.IsMatch(telefon, pattern);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static void ProtokolliereUngueltigeDaten(string[] daten)
 | 
					        static void ProtokolliereUngueltigeDaten(List<string> daten, string protokollPfad)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string protokollPfad = "C:/Schule/PMC/ungueltige_Daten.csv";
 | 
					 | 
				
			||||||
            using (StreamWriter sw = new StreamWriter(protokollPfad, true))
 | 
					            using (StreamWriter sw = new StreamWriter(protokollPfad, true))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                sw.WriteLine(string.Join(",", daten));
 | 
					                foreach (var zeile in daten)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    sw.WriteLine(zeile);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ using System.Reflection;
 | 
				
			|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("PMCProjekt")]
 | 
					[assembly: System.Reflection.AssemblyCompanyAttribute("PMCProjekt")]
 | 
				
			||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 | 
					[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 | 
				
			||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
 | 
					[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
 | 
				
			||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3ecbf97c766628394acad938d340da68a9d05e5c")]
 | 
					[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2150bad16d353de9bebea8f2feae3039c472b9e6")]
 | 
				
			||||||
[assembly: System.Reflection.AssemblyProductAttribute("PMCProjekt")]
 | 
					[assembly: System.Reflection.AssemblyProductAttribute("PMCProjekt")]
 | 
				
			||||||
[assembly: System.Reflection.AssemblyTitleAttribute("PMCProjekt")]
 | 
					[assembly: System.Reflection.AssemblyTitleAttribute("PMCProjekt")]
 | 
				
			||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
 | 
					[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1 +1 @@
 | 
				
			|||||||
d4ca53237659e1a7007941b655e24571191b87dfdcf8a3a5ea0ebb2f5de16263
 | 
					b181418c207b62c0f6b18dd50a2d5203ab8bd79309967fd8ba3cf377b6e89772
 | 
				
			||||||
 
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							@@ -66,7 +66,7 @@
 | 
				
			|||||||
              "privateAssets": "all"
 | 
					              "privateAssets": "all"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
 | 
					          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.304/PortableRuntimeIdentifierGraph.json"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@
 | 
				
			|||||||
    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
 | 
					    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
 | 
				
			||||||
    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\bib\.nuget\packages\</NuGetPackageFolders>
 | 
					    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\bib\.nuget\packages\</NuGetPackageFolders>
 | 
				
			||||||
    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
 | 
					    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
 | 
				
			||||||
    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
 | 
					    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.10.2</NuGetToolVersion>
 | 
				
			||||||
  </PropertyGroup>
 | 
					  </PropertyGroup>
 | 
				
			||||||
  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
 | 
					  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
 | 
				
			||||||
    <SourceRoot Include="C:\Users\bib\.nuget\packages\" />
 | 
					    <SourceRoot Include="C:\Users\bib\.nuget\packages\" />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1850,7 +1850,7 @@
 | 
				
			|||||||
            "privateAssets": "all"
 | 
					            "privateAssets": "all"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
 | 
					        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.304/PortableRuntimeIdentifierGraph.json"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "version": 2,
 | 
					  "version": 2,
 | 
				
			||||||
  "dgSpecHash": "Jmj3WRDtSrMYQNSWXK2x6TEKWOlCmkjM6nbeQ2iYrfCgkzMw4GiPixfUmBUGiPiTU/KE5IO8pzSrja1hWLPpDA==",
 | 
					  "dgSpecHash": "/54hNmRIYgQ=",
 | 
				
			||||||
  "success": true,
 | 
					  "success": true,
 | 
				
			||||||
  "projectFilePath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
 | 
					  "projectFilePath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
 | 
				
			||||||
  "expectedPackageFiles": [
 | 
					  "expectedPackageFiles": [
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user