public async Task <IActionResult> PutPollUser([FromRoute] long id, [FromBody] PollUser pollUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != pollUser.PollUserID) { return(BadRequest()); } _context.Entry(pollUser).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PollUserExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <PollUser> > PostPollUser(PollUser pollUser) { _context.PollUsers.Add(pollUser); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPollUser", new { id = pollUser.PollUserId }, pollUser)); }
public ActionResult <Poll> AcceptPoll(int userID, int pollID) { //get the user var user = _context.Users.Include(inv => inv.PollUserInvites).SingleOrDefault(p => p.UserID == userID); if (user != null) { //remove the poll invite var invite = user.PollUserInvites.FirstOrDefault(p => p.PollID == pollID); _context.PollUserInvites.Remove(invite); //create a new polluser with the user and poll. PollUser pollUser = new PollUser() { PollID = invite.PollID, UserID = user.UserID, PollOwner = false }; _context.PollUsers.Add(pollUser); _context.SaveChanges(); //return accepted poll. var poll = _context.Polls.FirstOrDefault(p => p.PollID == pollID); return(poll); } else { return(BadRequest()); } }
public async Task <ActionResult <PollUser> > PostPollUser(PollUser pu) { _context.PollUsers.Add(pu); await _context.SaveChangesAsync(); return(Ok(pu)); }
public async Task <IActionResult> PutPollUser(PollUser pollUser) { pollUser.Accepted = true; _context.Entry(pollUser).Property("Accepted").IsModified = true; await _context.SaveChangesAsync(); return(CreatedAtAction("GetPollUser", new { id = pollUser.PollUserID }, pollUser)); }
public async Task <ActionResult <GetPollDto> > GetPoll(long id) { long userID = Convert.ToInt64(User.Claims.FirstOrDefault(c => c.Type == "UserID").Value); PollUser pu = _context.PollUsers.SingleOrDefault(x => x.PollID == id && x.UserID == userID); Poll p = _context.Polls.SingleOrDefault(p => p.PollID == id); if (pu == null && p.OwnerID != userID) { return(BadRequest(new { message = "You have no permission to view this poll. Get out of here you sneaky bastard!" })); } GetPollDto dto = await _context.Polls.Where(p => p.PollID == id).Select(p => new GetPollDto() { PollID = p.PollID, Name = p.Name, Answers = p.Answers.Select(a => new PollAnswerDto() { AnswerID = a.AnswerID, Answer = a.Answer, Votes = a.Votes.Select(v => new PollVoteDto() { VoteID = v.VoteID, AnswerID = v.AnswerID, User = new GetUserDto() { UserID = v.User.UserID, Email = v.User.Email, Name = v.User.Name, Activated = v.User.Activated } }) .OrderBy(v => v.User.Name) .ToList() }) .ToList() }) .FirstOrDefaultAsync(); dto.Answers = dto.Answers.OrderByDescending(a => a.Votes.Count).ToList(); return(Ok(dto)); }
public async Task <IActionResult> PostPollUser([FromBody] PollUser pollUser) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Vriend vriend = await _context.Vriend.Where(v => v.VriendID == pollUser.UserID).SingleOrDefaultAsync(); User user = await _context.Users.Where(u => u.UserName == vriend.UserName).SingleOrDefaultAsync(); PollUser juistPollUser = new PollUser(); juistPollUser.PollID = pollUser.PollID; juistPollUser.UserID = user.UserID; _context.PollUser.Add(juistPollUser); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPollUser", new { id = juistPollUser.PollUserID }, juistPollUser)); }
public async Task <ActionResult <PollUser> > PostPollUser(PollUser pollUser) { var getPollUser = await _context.PollUsers.Include(u => u.User).Include(p => p.Poll).FirstOrDefaultAsync(p => p.User.UserID == pollUser.User.UserID && p.Poll.PollID == pollUser.Poll.PollID); if (getPollUser == null) { var insertPollUser = new PollUser { Poll = _context.Polls.Single(p => p.PollID == pollUser.Poll.PollID), User = _context.Users.Single(g => g.UserID == pollUser.User.UserID), Accepted = pollUser.Accepted }; _context.PollUsers.Add(insertPollUser); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPollUser", new { id = insertPollUser.PollUserID }, insertPollUser)); } return(getPollUser); }
public async Task <IActionResult> PostPoll([FromBody] Poll poll) { var userID = User.Claims.FirstOrDefault(c => c.Type == "UserID").Value; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var pollUser = new PollUser(); pollUser.Poll = poll; pollUser.UserID = long.Parse(userID); pollUser.admin = true; _context.PollUser.Add(pollUser); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPoll", new { id = poll.PollID }, poll)); }