Löschen Knopf

This commit is contained in:
2025-06-02 16:26:06 +02:00
parent 3f2bd74438
commit 5b2b05ed55
3 changed files with 31 additions and 3 deletions

View File

@@ -21,6 +21,11 @@ class FahrzeugeModell
return fahrzeugListe; return fahrzeugListe;
} }
public void LoescheFahrzeug(Fahrzeug fahrzeug)
{
_repository.LoescheFahrzeug(fahrzeug.Id);
}
private IEnumerable<Fahrzeug> KonvertiereFahrzeuge(IEnumerable<FahrzeugDTO> fahrzeugs) private IEnumerable<Fahrzeug> KonvertiereFahrzeuge(IEnumerable<FahrzeugDTO> fahrzeugs)
{ {
return fahrzeugs.Select(fahrzeug => KonvertiereFahrzeuf(fahrzeug)); return fahrzeugs.Select(fahrzeug => KonvertiereFahrzeuf(fahrzeug));

View File

@@ -8,7 +8,7 @@
d:DataContext="{d:DesignInstance Type=local:MainWindowViewModel, IsDesignTimeCreatable=False}" d:DataContext="{d:DesignInstance Type=local:MainWindowViewModel, IsDesignTimeCreatable=False}"
Title="{Binding Path=MainWindowTitle}" Height="450" Width="800"> Title="{Binding Path=MainWindowTitle}" Height="450" Width="800">
<StackPanel> <StackPanel>
<DataGrid Name="dgTest" <DataGrid x:Name="fahrzeugTabelle"
CanUserAddRows="False" CanUserAddRows="False"
CanUserDeleteRows="False" CanUserDeleteRows="False"
CanUserSortColumns="True" CanUserSortColumns="True"
@@ -18,6 +18,13 @@
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=Id}"/> <DataGridTextColumn Header="ID" Binding="{Binding Path=Id}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/> <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Command="{Binding ElementName=fahrzeugTabelle, Path=DataContext.LoeschenKommando}" CommandParameter="{Binding}">Löschen</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>

View File

@@ -1,6 +1,7 @@
using FahrzeugDatenBank; using FahrzeugDatenBank;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Timers; using System.Timers;
using System.Windows.Input;
namespace FahzeugWPF; namespace FahzeugWPF;
@@ -19,11 +20,19 @@ class MainWindowViewModel : ViewModelBase
this._timer.Start(); this._timer.Start();
this._model = modell; this._model = modell;
this.InitialisiereDasViewModell(); this.InitialisiereDasViewModell();
this.LoeschenKommando = new RelayCommand(LoescheFahrzeug);
} }
public string MainWindowTitle { get { return _mainWindowTitle; } set { public ICommand LoeschenKommando { get; private set; }
public string MainWindowTitle
{
get { return _mainWindowTitle; }
set
{
SetProperty<string>(ref _mainWindowTitle, value); SetProperty<string>(ref _mainWindowTitle, value);
} } }
}
public ObservableCollection<Fahrzeug> Fahrzeuge { get; } = new ObservableCollection<Fahrzeug>(); public ObservableCollection<Fahrzeug> Fahrzeuge { get; } = new ObservableCollection<Fahrzeug>();
@@ -40,4 +49,11 @@ class MainWindowViewModel : ViewModelBase
{ {
this.MainWindowTitle = $"Fahrzeuge {DateTime.Now.ToLongTimeString()}"; this.MainWindowTitle = $"Fahrzeuge {DateTime.Now.ToLongTimeString()}";
} }
private void LoescheFahrzeug(object? fahrzeug)
{
if (fahrzeug == null) return;
_model.LoescheFahrzeug((Fahrzeug)fahrzeug);
this.Fahrzeuge.Remove((Fahrzeug)fahrzeug);
}
} }