Exemple #1
0
 public Database.Entities.Other.PollVote Convert(Models.Other.CRUD.PollVote source, Database.Entities.Other.PollVote destination, ResolutionContext context)
 {
     return(new Database.Entities.Other.PollVote
     {
         PollSelectionId = source.PollSelectionId,
         VotedByUserId = source.VotedByUserId,
         Created = DateTime.Now
     });
 }
Exemple #2
0
 public async Task <List <Result> > CreateVoteOnPollAsync(Models.Other.CRUD.PollVote pollVote)
 {
     if (await _dbClient.UserHasAlreadyVotedOnPollAsync(pollVote))
     {
         return(new List <Result>
         {
             new Result(false, "Du har redan röstat!")
         });
     }
     return(await new List <Result>().Get(_dbClient.CreateVoteOnPollAsync(_mapper.Map <Database.Entities.Other.PollVote>(pollVote)), ResultMessages.CreatePollVote));
 }
Exemple #3
0
        public async Task <bool> UserHasAlreadyVotedOnPollAsync(Models.Other.CRUD.PollVote pollVote)
        {
            var poll = await _dbContext.Polls.IncludeAll().FirstOrDefaultAsync(x => x.Selections.Select(y => y.Id).Contains(pollVote.PollSelectionId));

            return(poll != null && poll.Selections.Any(selection => selection.Votes.Select(x => x.VotedByUserId).Contains(pollVote.VotedByUserId)));
        }
Exemple #4
0
 public Task <List <Result> > Vote(int pollId, [FromBody] Models.Other.CRUD.PollVote pollVote)
 {
     _logger.Debug("Requesting to create a new vote on poll with id {pollId}", pollId);
     return(_pollRepository.CreateVoteOnPollAsync(pollVote));
 }