Aufgabe WPF

This commit is contained in:
2025-06-02 15:30:25 +02:00
parent 86006adb9c
commit 80d64c9574
13 changed files with 257 additions and 3 deletions

View File

@@ -0,0 +1,45 @@
using FahrzeugDatenBank;
namespace FahzeugWPF;
class FahrzeugeModell
{
private readonly FahrzeugRepository _repository;
public FahrzeugeModell(FahrzeugRepository repository)
{
this._repository = repository;
}
public async Task<IEnumerable<Fahrzeug>> LadeAlleFahrzeuge()
{
List<FahrzeugDTO>? fahrzeugs = await Task.Run(() =>
{
return _repository.HoleAlleFahrzeuge();
});
var fahrzeugListe = KonvertiereFahrzeuge(fahrzeugs);
return fahrzeugListe;
}
private IEnumerable<Fahrzeug> KonvertiereFahrzeuge(IEnumerable<FahrzeugDTO> fahrzeugs)
{
return fahrzeugs.Select(fahrzeug => KonvertiereFahrzeuf(fahrzeug));
}
private Fahrzeug KonvertiereFahrzeuf(FahrzeugDTO fahrzeugDTO)
{
switch (fahrzeugDTO.Typ)
{
case "Auto":
var auto = new Auto() { Id = fahrzeugDTO.Id, Name = fahrzeugDTO.Name, };
return auto;
case "Motorrad":
var motorrad = new Motorrad() { Id = fahrzeugDTO.Id, Name = fahrzeugDTO.Name, };
return motorrad;
case "Fahrrad":
var fahrrad = new Fahrrad() { Id = fahrzeugDTO.Id, Name = fahrzeugDTO.Name, };
return fahrrad;
}
throw new Exception($"Unbekannter FahrzeugTyp: {fahrzeugDTO.Typ}");
}
}