Einfugen neuer
This commit is contained in:
@@ -23,6 +23,8 @@ namespace FahzeugWPF
|
||||
services.AddScoped<IKonfigurationsleser>(sp => new Konfigurationsleser(configuration));
|
||||
services.AddScoped(sp => new FahrzeugRepository(sp.GetRequiredService<IKonfigurationsleser>().LiesDBVerebindung()));
|
||||
services.AddScoped<FahrzeugeModell>();
|
||||
services.AddScoped<EinfuegenModel>();
|
||||
services.AddScoped<EinfuegenWindow>();
|
||||
services.AddSingleton<MainWindowViewModel>();
|
||||
services.AddSingleton<MainWindow>();
|
||||
|
||||
|
||||
29
FahzeugWPF/EinfuegenModel.cs
Normal file
29
FahzeugWPF/EinfuegenModel.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace FahzeugWPF;
|
||||
|
||||
class EinfuegenModel : ViewModelBase
|
||||
{
|
||||
private readonly FahrzeugeModell _fahrzeugeModell;
|
||||
|
||||
public EinfuegenModel(FahrzeugeModell model)
|
||||
{
|
||||
this._fahrzeugeModell = model;
|
||||
EinfuegenKommando = new RelayCommand(Einfugen);
|
||||
}
|
||||
|
||||
public string NeuesrFahrzeugName { get; set; }
|
||||
public string NeuerFahrzeugTyp { get; set; }
|
||||
public ICommand EinfuegenKommando { get; private set; }
|
||||
|
||||
private void Einfugen(object? o)
|
||||
{
|
||||
if (string.IsNullOrEmpty(NeuerFahrzeugTyp) || string.IsNullOrEmpty(NeuesrFahrzeugName)) { return; }
|
||||
_fahrzeugeModell.EinfuegenFahrzeug(NeuesrFahrzeugName, NeuerFahrzeugTyp);
|
||||
if (o is Window window)
|
||||
{
|
||||
window.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
FahzeugWPF/EinfuegenWindow.xaml
Normal file
17
FahzeugWPF/EinfuegenWindow.xaml
Normal file
@@ -0,0 +1,17 @@
|
||||
<Window x:Class="FahzeugWPF.EinfuegenWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:FahzeugWPF"
|
||||
mc:Ignorable="d"
|
||||
x:Name="EinfuegenFenster"
|
||||
Title="Fahrzeug Einfuegen" Height="300" Width="500">
|
||||
<StackPanel>
|
||||
<TextBlock Margin="1" Text="Neuse Fahrzeug" VerticalAlignment="Top" />
|
||||
<TextBox HorizontalAlignment="Left" Margin="1" TextWrapping="Wrap" Width="498" Text="{Binding Path=NeuesrFahrzeugName}" />
|
||||
<TextBlock Margin="1" Text="Fahrzeugtyp" VerticalAlignment="Top"/>
|
||||
<TextBox HorizontalAlignment="Left" Margin="1" TextWrapping="Wrap" Width="498" Text="{Binding Path=NeuerFahrzeugTyp}"/>
|
||||
<Button Content="Einfügen" HorizontalAlignment="Left" Margin="1" VerticalAlignment="Top" Command="{Binding Path=EinfuegenKommando}" CommandParameter="{Binding ElementName=EinfuegenFenster}"/>
|
||||
</StackPanel>
|
||||
</Window>
|
||||
27
FahzeugWPF/EinfuegenWindow.xaml.cs
Normal file
27
FahzeugWPF/EinfuegenWindow.xaml.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace FahzeugWPF
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for EinfuegenWindow.xaml
|
||||
/// </summary>
|
||||
public partial class EinfuegenWindow : Window
|
||||
{
|
||||
public EinfuegenWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,11 @@ class FahrzeugeModell
|
||||
_repository.LoescheFahrzeug(fahrzeug.Id);
|
||||
}
|
||||
|
||||
public void EinfuegenFahrzeug(string faName, string faType)
|
||||
{
|
||||
_repository.FuegeFahrzeugEin(faName, faType);
|
||||
}
|
||||
|
||||
private IEnumerable<Fahrzeug> KonvertiereFahrzeuge(IEnumerable<FahrzeugDTO> fahrzeugs)
|
||||
{
|
||||
return fahrzeugs.Select(fahrzeug => KonvertiereFahrzeuf(fahrzeug));
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<MenuItem Header="Liste leeren"
|
||||
Command="{Binding Path=LeerenKommando}"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Einfügen" Command="{Binding Path=Einfugen}"/>
|
||||
</Menu>
|
||||
<DataGrid x:Name="fahrzeugTabelle"
|
||||
CanUserAddRows="False"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using FahrzeugDatenBank;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Timers;
|
||||
using System.Windows;
|
||||
@@ -23,10 +24,12 @@ class MainWindowViewModel : ViewModelBase
|
||||
this.InitialisiereDasViewModell();
|
||||
this.LoeschenKommando = new RelayCommand(LoescheFahrzeug);
|
||||
this.LeerenKommando = new RelayCommand(LeereListe);
|
||||
this.Einfugen = new RelayCommand(EinfugenMachen);
|
||||
}
|
||||
|
||||
public ICommand LoeschenKommando { get; private set; }
|
||||
public ICommand LeerenKommando { get; private set; }
|
||||
public ICommand Einfugen { get; private set; }
|
||||
|
||||
public string MainWindowTitle
|
||||
{
|
||||
@@ -55,7 +58,8 @@ class MainWindowViewModel : ViewModelBase
|
||||
|
||||
private void LoescheFahrzeug(object? fahrzeug)
|
||||
{
|
||||
if (fahrzeug == null) return;
|
||||
if (fahrzeug == null)
|
||||
return;
|
||||
_model.LoescheFahrzeug((Fahrzeug)fahrzeug);
|
||||
this.Fahrzeuge.Remove((Fahrzeug)fahrzeug);
|
||||
}
|
||||
@@ -70,4 +74,14 @@ class MainWindowViewModel : ViewModelBase
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void EinfugenMachen(object? o)
|
||||
{
|
||||
var einfuege = App.ServiceProvider.GetService<EinfuegenWindow>();
|
||||
einfuege.DataContext = App.ServiceProvider.GetService<EinfuegenModel>();
|
||||
einfuege.ShowDialog();
|
||||
|
||||
LeereListe(o);
|
||||
InitialisiereDasViewModell();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user