public async Task <IActionResult> MakeVote([FromQuery] int votingOptionId) { var makeVoteDto = new MakeVoteDto { VotingOptionId = votingOptionId, User = User }; await _votingService.MakeVoteAsync(makeVoteDto); return(Redirect(Request.Headers["Referer"].ToString())); }
public async Task MakeVoteAsync(MakeVoteDto dto) { VotingOption votingOption = await _unitOfWork.VotingOptionRepository.GetAsync(dto.VotingOptionId); var votingId = votingOption.VotingId; if (!await _unitOfWork.VoteRepository.UserHasVotedAsync(votingId !.Value, dto.User.GetUserId())) { _unitOfWork.VoteRepository.Create(new Vote() { VotingOptionId = votingOption.Id, VotingId = votingId.Value, UserId = dto.User.GetUserId() }); await _unitOfWork.SaveChangesAsync(); } }