public async Task <IEnumerable <Poll_dto> > GetPollsBeheerder(int userID) { //gebruikerID == huidige gebruiker IEnumerable <Poll> Polls = await _context.Polls.Include(p => p.Antwoorden).ThenInclude(a => a.Stemmen).Include(p => p.PollGebruikers).ToListAsync(); List <Poll_dto> pollModel = new List <Poll_dto>(); foreach (var p in Polls) { foreach (var pg in p.PollGebruikers) { if (pg.PollID == p.PollID && pg.UserID == userID) { if (pg.isAdmin == true) { Poll_dto poll = new Poll_dto(); poll.Naam = p.Naam; poll.PollID = p.PollID; poll.Antwoorden = new List <Antwoord_dto>(); foreach (var a in p.Antwoorden) { var antw = new Antwoord_dto(); antw.AntwoordID = a.AntwoordID; antw.Naam = a.Naam; antw.Stemmen = new List <Stem_dto>(); foreach (var s in a.Stemmen) { antw.Stemmen.Add(new Stem_dto() { StemID = s.StemID, UserID = s.UserID, AntwoordID = s.AntwoordID }); } poll.Antwoorden.Add(antw); } poll.Users = new List <PollGebruiker_dto>(); foreach (var u in p.PollGebruikers) { var pollUser = new PollGebruiker_dto(); pollUser.UserID = u.UserID; pollUser.PollID = u.PollID; pollUser.isAdmin = u.isAdmin; poll.Users.Add(pollUser); } pollModel.Add(poll); } } } } return(pollModel); }
public async Task <ActionResult <PollGebruiker_dto> > PostPollGebruiker(PollGebruiker_dto pollGebruiker) { var pg1 = new PollGebruiker() { UserID = pollGebruiker.UserID, PollID = pollGebruiker.PollID, isAdmin = pollGebruiker.isAdmin }; _context.PollGebruiker.Add(pg1); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPollGebruiker", new { id = pg1.PollGebruikerID }, pg1)); }
public async Task <ActionResult <Poll_dto> > GetPoll(int id) { var p = await _context.Polls.Include(po => po.Antwoorden).ThenInclude(a => a.Stemmen).Include(po => po.PollGebruikers).FirstOrDefaultAsync(po => po.PollID == id); if (p == null) { return(NotFound()); } Poll_dto poll = new Poll_dto(); poll.Naam = p.Naam; poll.PollID = p.PollID; poll.Antwoorden = new List <Antwoord_dto>(); foreach (var a in p.Antwoorden) { var antw = new Antwoord_dto(); antw.AntwoordID = a.AntwoordID; antw.Naam = a.Naam; antw.Stemmen = new List <Stem_dto>(); foreach (var s in a.Stemmen) { antw.Stemmen.Add(new Stem_dto() { StemID = s.StemID, UserID = s.UserID, AntwoordID = s.AntwoordID }); } poll.Antwoorden.Add(antw); } poll.Users = new List <PollGebruiker_dto>(); foreach (var u in p.PollGebruikers) { var pollUser = new PollGebruiker_dto(); pollUser.UserID = u.UserID; pollUser.PollID = u.PollID; pollUser.isAdmin = u.isAdmin; poll.Users.Add(pollUser); } return(poll); }
public async Task <ActionResult <PollGebruiker_dto> > PostPollGebruikerByUserIDAndPollID(PollGebruiker_dto pollGebruiker) { //als deze user al toegevoegd is aan poll -> null returnen //anders pollgebruiker toevoegen var pg = _context.PollGebruikers.FirstOrDefault(p => p.PollID == pollGebruiker.PollID && p.UserID == pollGebruiker.UserID); if (pg == null) { var pg1 = new PollGebruiker() { UserID = pollGebruiker.UserID, PollID = pollGebruiker.PollID, isAdmin = pollGebruiker.isAdmin }; _context.PollGebruiker.Add(pg1); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPollGebruiker", new { id = pg1.PollGebruikerID }, pg1)); } else { return(null); } }