Пример #1
0
        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()));
        }
Пример #2
0
        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();
            }
        }