using FahrzeugDatenBank; namespace FahzeugWPF; class FahrzeugeModell { private readonly FahrzeugRepository _repository; public FahrzeugeModell(FahrzeugRepository repository) { this._repository = repository; } public async Task> LadeAlleFahrzeuge() { List? fahrzeugs = await Task.Run(() => { return _repository.HoleAlleFahrzeuge(); }); var fahrzeugListe = KonvertiereFahrzeuge(fahrzeugs); return fahrzeugListe; } public void LoescheFahrzeug(Fahrzeug fahrzeug) { _repository.LoescheFahrzeug(fahrzeug.Id); } private IEnumerable KonvertiereFahrzeuge(IEnumerable 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}"); } }