public ActionResult <Les> Put(int id, LesDTO DTO) { try { Les l = _lesRepository.GetBy(id); if (l == null) { return(BadRequest("Les kon niet worden gevonden")); } Gebruiker lesgever = _gebruikerRepository.GetBy(DTO.LesgeverId); if (lesgever == null) { return(BadRequest("Lesgever kon niet worden gevonden")); } if (!(lesgever is Lesgever || lesgever is Beheerder)) { return(BadRequest("Gelieve een lesgever op te geven")); } List <Lid> LedenVoorLes = new List <Lid>(); Boolean LidNietGevonden = false; int LidNietGevondenId = 0; DTO.LedenIds.ForEach(LidId => { Gebruiker lid = _gebruikerRepository.GetBy(LidId); if (lid == null) { LidNietGevonden = true; LidNietGevondenId = LidId; } else { LedenVoorLes.Add((Lid)lid); } }); if (LidNietGevonden) { return(BadRequest("Lid met id " + LidNietGevondenId + " kon niet worden gevonden!")); } l.Lesgever = lesgever; l.StartUur = DTO.StartUur; l.Duur = DTO.Duur; l.Weekdag = DTO.Weekdag; l.LedenVoorLes = LedenVoorLes; _lesRepository.Update(l); _lesRepository.SaveChanges(); return(CreatedAtAction(nameof(GetBy), new { id = l.Id }, l)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult <Les> Post(LesDTO DTO) { try { Gebruiker lesgever = _gebruikerRepository.GetBy(DTO.LesgeverId); if (lesgever == null) { return(BadRequest("Lesgever kon niet worden gevonden")); } if (!(lesgever is Lesgever || lesgever is Beheerder)) { return(BadRequest("Gelieve een lesgever op te geven")); } List <Lid> LedenVoorLes = new List <Lid>(); Boolean LidNietGevonden = false; int LidNietGevondenId = 0; DTO.LedenIds.ForEach(LidId => { Gebruiker lid = _gebruikerRepository.GetBy(LidId); if (lid == null) { LidNietGevonden = true; LidNietGevondenId = LidId; } else { LedenVoorLes.Add((Lid)lid); } }); if (LidNietGevonden) { return(BadRequest("Lid met id " + LidNietGevondenId + " kon niet worden gevonden!")); } Les l = new Les(lesgever, DTO.StartUur, DTO.Duur, DTO.Weekdag, LedenVoorLes); _lesRepository.Add(l); _lesRepository.SaveChanges(); return(l); } catch (Exception e) { return(BadRequest(e.Message)); } }