public async Task <ActionResult> VoteMovie(Guid movieId, int score) { var userIdentity = User.Claims.Where(a => a.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value; var vote = await _voteService.AddVote(movieId, new Guid(userIdentity), score); return(Ok()); }
public IActionResult PostVote(Guid id, string name) { if (_cattleService.GetIfExistsById(id) == null) { return(NotFound()); } _voteService.AddVote(id, name); return(CreatedAtAction("PostVote", null)); }
public async Task <IActionResult> Vote([FromBody] PolicyChangePollVoteViewModel model) { if (ModelState.IsValid) { var poll = await _pollService.GetPoll(model.PollId); if (poll == null) { ModelState.AddModelError("", _localizer["PollNotFound"]); return(BadRequest(Errors.GetErrorList(ModelState))); } if (poll.GetType() != typeof(PolicyChangePoll)) { return(BadRequest(Errors.GetSingleErrorList("", _localizer["PollTypeNotPolicyChange"]))); } if (!poll.Active || poll.Deadline <= DateTime.UtcNow) { ModelState.AddModelError("", _localizer["PollCompleted"]); return(BadRequest(Errors.GetErrorList(ModelState))); } if (!await _pollService.UserCanVote(poll.Id, User.ApiGetUserId())) { return(BadRequest(Errors.GetSingleErrorList("", _localizer["UserCannotVoteAfterAddedPollStart"]))); } if (!await _userService.IsVoter(User.ApiGetUserId())) { return(BadRequest(Errors.GetSingleErrorList("", _localizer["PollVoterError"]))); } var userVoted = await _voteService.UserVotedInPoll(User.ApiGetUserId(), model.PollId); if (userVoted) { ModelState.AddModelError("", _localizer["PollRecordExist"]); return(BadRequest(Errors.GetErrorList(ModelState))); } //check deadline var vote = new Vote { PollId = model.PollId, VoterId = User.ApiGetUserId(), Value = model.PollValue }; await _voteService.AddVote(vote); var result = _mapper.Map <Poll, PollListViewModel>(poll); result.UserVoted = true; return(Ok(result)); } return(BadRequest(Errors.GetErrorList(ModelState))); }
public async Task Should_Add_Vote() { var poll = new PolicyChangePoll { Name = "test", Active = true, CreateTime = DateTime.UtcNow, QuestionBody = "test dfs", TenantId = "test" }; _context.Polls.Add(poll); _context.Users.Add(new ApplicationUser { Email = "*****@*****.**", FirstName = "test", LastName = "Test", TenantId = "test", CreatedAt = DateTime.UtcNow, SecurityStamp = new Guid().ToString(), EmailConfirmed = false, Id = 1.ToString(), IsDeleted = false, UserDetail = new UserDetail { AuthorityPercent = 1, LanguagePreference = "tr" } }); _context.SaveChanges(); var vote = new Vote { PollId = poll.Id, Value = 1, VoterId = 1.ToString() }; await _voteService.AddVote(vote); var getVote = _context.Votes.FirstOrDefault(x => x.Id == vote.Id); Assert.Equal(vote.PollId, getVote.PollId); Assert.Equal(vote.Value, getVote.Value); Assert.Equal(vote.VoterId, getVote.VoterId); }
public void AddVote(UserVote vote) { var user = _userService.GetUser(vote.IdUser); var survey = GetSurvey(vote.IdSurvey); if (survey.EndTime < IsraelTimeZone.Now()) { throw new SurveyException("Voting has ended"); } if (user.Type > survey.TypeMember) { throw new SurveyException("You not Allow to vote on this Survey"); } IsVoteLegal(vote); UpdateSurveyVote(survey, vote.Vote); _voteService.AddVote(survey.IdSurvey, vote.IdUser); }
public async Task <IActionResult> Post(VoteViewModel.VoteUser model) { try { var findUser = await _userManager.FindByIdAsync(model.UserId); if (findUser == null) { return(NotFound(_messageModelBuilder.CreateModel("404", "ID пользователя не найден"))); } var findVote = await _voteService.FindVoteById(model.Id); if (findVote == null) { return(NotFound(_messageModelBuilder.CreateModel("404", "ID голосования не найден"))); } if (model.IsCancel) { } else { var result = await _voteService.AddVote(new VoteUser { Value = model.Value, UserId = findUser.Id, VoteId = findVote.Id }); if (result == 0) { return(NotFound(_messageModelBuilder.CreateModel("500", "Ошибка при сохранении голоса"))); } } return(Ok()); } catch (Exception e) { return(BadRequest(_messageModelBuilder.CreateModel("500", e.Message))); } }
public double Submit([FromBody] VoteModel vote) { _voteService.AddVote(vote.Map <Vote>()); return(_voteService.GetResult(vote.UploadId)); }
public ActionResult <bool> AddUserVote([FromBody] Vote vote) { return(_voteService.AddVote(vote)); }