using Microsoft.EntityFrameworkCore; using System.Windows; using System.Windows.Controls; namespace FahrzeugProjekt { public partial class FahrzeugEintragenWindow : Window { private FahrzeugProjektKontext Kontext; bool idk; public MainWindow main { get; set; } public FahrzeugEintragenWindow(FahrzeugProjektKontext dbKontext) { InitializeComponent(); Kontext = dbKontext; DatenLaden(); } private void DatenLaden() { List alleModelle = Kontext.Modelle.ToList(); cmbModell.ItemsSource = alleModelle; cmbModell.DisplayMemberPath = "Modellname"; } private void Speichern(object sender, RoutedEventArgs e) { idk = EingabenValidieren(); if (idk == false) { return; } Modell ausgewähltesModell = cmbModell.SelectedItem as Modell; Fahrzeug neuesFahrzeug = new Fahrzeug { ModellID = ausgewähltesModell.ModellID, Getriebe = ((ComboBoxItem)cmbGetriebe.SelectedItem).Content.ToString(), Kraftstoff = ((ComboBoxItem)cmbKraftstoff.SelectedItem).Content.ToString(), Baujahr = int.Parse(txtBaujahr.Text), Farbe = txtFarbe.Text.Trim(), Kilometerstand = int.Parse(txtKilometer.Text), Beschreibung = txtBeschreibung.Text.Trim() }; Kontext.Fahrzeuge.Add(neuesFahrzeug); Kontext.SaveChanges(); MessageBox.Show("Fahrzeug erfolgreich gespeichert!"); this.Close(); main.Show(); } private bool EingabenValidieren() { if (cmbModell.SelectedItem == null) { MessageBox.Show("Bitte wählen Sie ein Modell aus!"); return false; } if (cmbGetriebe.SelectedItem == null) { MessageBox.Show("Bitte wählen Sie ein Getriebe aus!"); return false; } if (cmbKraftstoff.SelectedItem == null) { MessageBox.Show("Bitte wählen Sie einen Kraftstoff aus!"); return false; } try { int baujahr = Convert.ToInt32(txtBaujahr.Text); if (baujahr < 1900) { MessageBox.Show("Bitte geben Sie ein gültiges Baujahr ein!"); return false; } } catch { MessageBox.Show("Bitte geben Sie ein gültiges Baujahr ein!"); return false; } if (string.IsNullOrWhiteSpace(txtFarbe.Text)) { MessageBox.Show("Bitte geben Sie eine Farbe ein!"); return false; } try { int km = Convert.ToInt32(txtKilometer.Text); if (km < 0) { MessageBox.Show("Bitte geben Sie einen gültigen Kilometerstand ein!"); return false; } } catch { MessageBox.Show("Bitte geben Sie einen gültigen Kilometerstand ein!"); return false; } return true; } private void Abbrechen(object sender, RoutedEventArgs e) { this.Close(); main.Show(); } } }