119 lines
3.5 KiB
C#
119 lines
3.5 KiB
C#
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<Modell> 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();
|
|
}
|
|
}
|
|
} |