Aufgabe WPF
This commit is contained in:
45
FahzeugWPF/FahrzeugeModell.cs
Normal file
45
FahzeugWPF/FahrzeugeModell.cs
Normal 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}");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user