public IEnumerable <DagAtelierDTO> GetAanwezigeGebruikers(string datum) { DagplanningDTO huidigeDagPlanning = GetDagPlanning(datum).Value; AtelierType[] afwezigeAtelierTypes = new AtelierType[] { AtelierType.Afwezig, AtelierType.Thuis, AtelierType.Ziek }; IEnumerable <DagAtelierDTO> afwezigeAteliers = huidigeDagPlanning.DagAteliers.Where(x => afwezigeAtelierTypes.Contains(x.Atelier.AtelierType)); IEnumerable <DagAtelierDTO> normaleAteliers = huidigeDagPlanning.DagAteliers.Where(x => x.Atelier.AtelierType == AtelierType.Gewoon); IEnumerable <BasicGebruikerDTO> aanwezigenVoormiddag = normaleAteliers.Where(a => a.DagMoment == DagMoment.Voormiddag).Select(d => d.Gebruikers).SelectMany(g => g).Distinct(); IEnumerable <BasicGebruikerDTO> aanwezigenNamiddag = normaleAteliers.Where(a => a.DagMoment == DagMoment.Namiddag).Select(d => d.Gebruikers).SelectMany(g => g).Distinct(); return(afwezigeAteliers.Append(new DagAtelierDTO() { Atelier = new AtelierDTO() { AtelierType = AtelierType.Gewoon, Naam = "Aanwezigen voormiddag" }, DagMoment = DagMoment.Voormiddag, Gebruikers = aanwezigenVoormiddag, }) .Append(new DagAtelierDTO() { Atelier = new AtelierDTO() { AtelierType = AtelierType.Gewoon, Naam = "Aanwezigen namiddag" }, DagMoment = DagMoment.Namiddag, Gebruikers = aanwezigenVoormiddag, })); }
public ActionResult <DagplanningDTO> GetDagPlanningTemplate(int id, int weeknummer, int weekdag) { DagPlanningTemplate dagPlanningTemplate = null; dagPlanningTemplate = _templateRepository.GetDagTemplateById(id, weeknummer, (Weekdag)weekdag); if (dagPlanningTemplate == null) { return(BadRequest()); } DagplanningDTO dagPlanningTemplateDto = new DagplanningDTO() { DagplanningId = dagPlanningTemplate.DagplanningId, Eten = dagPlanningTemplate.Eten, Weekdag = dagPlanningTemplate.Weekdag, Weeknummer = dagPlanningTemplate.Weeknummer, Datum = null, DagAteliers = dagPlanningTemplate.DagAteliers.Select(da => new DagAtelierDTO() { Atelier = new AtelierDTO() { AtelierId = da.Atelier.AtelierId, AtelierType = da.Atelier.AtelierType, Naam = da.Atelier.Naam, PictoURL = da.Atelier.PictoURL }, DagAtelierId = da.DagAtelierId, DagMoment = da.DagMoment, Gebruikers = da.Gebruikers.Select(gda => new BasicGebruikerDTO() { Id = gda.Gebruiker.Id, Achternaam = gda.Gebruiker.Achternaam, Voornaam = gda.Gebruiker.Voornaam, Foto = gda.Gebruiker.Foto, Type = gda.Gebruiker.Type, }) }) }; return(dagPlanningTemplateDto); }