public async Task <object> InsertVote(VoteDto voteDto)
        {
            try
            {
                var vote = DtoToVote(voteDto);
                await _votes.InsertOneAsync(vote);

                var voteDtoRes = await GetVote(vote.Id);

                if (voteDtoRes == null)
                {
                    return(null);
                }

                var voter_election = DtoToVoter_Election(voteDto);
                await _voter_elections.InsertOneAsync(voter_election);

                return(new { ElectionId = voter_election.ElectionId, BallotTime = voter_election.BallotTime, VoteId = vote.Id });
            }
            catch (MongoWriteException e)
            {
                return(null);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
 private static Vote DtoToVote(VoteDto voteDto) =>
 new Vote
 {
     CandidateId    = voteDto.CandidateId,
     ElectionId     = voteDto.ElectionId,
     ConstituencyId = voteDto.ConstituencyId
 };
 private static Voter_Election DtoToVoter_Election(VoteDto voteDto) =>
 new Voter_Election
 {
     VoterId    = voteDto.VoterId,
     ElectionId = voteDto.ElectionId,
     BallotTime = voteDto.BallotTime
 };
Esempio n. 4
0
        public IActionResult PutVote([FromBody] VoteDto vote)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //if (id != vote.Id)
            //{
            //    return BadRequest();
            //}

            var updatedVote = _voteRepository.AddorUpdateVote(vote);

            //try
            //{
            //    await _context.SaveChangesAsync();
            //}
            //catch (DbUpdateConcurrencyException)
            //{
            //    if (!VoteExists(id))
            //    {
            //        return NotFound();
            //    }
            //    else
            //    {
            //        throw;
            //    }
            //}

            return(Ok(updatedVote));
        }
Esempio n. 5
0
        public List <VoteDto> GetAllVote(VoteDto input)
        {
            var query = (from votes in _context.Vote.ToList()
                         join topic in _context.Topic.ToList()
                         on votes.TopicId equals topic.Id
                         select new VoteDto
            {
                TopicName = topic.Name,
                TopicId = topic.Id,
                UpVoteCount = votes.UpVoteCount,
                DownVoteCount = votes.DownVoteCount,
                Id = votes.Id,
                DateCreated = votes.DateCreated,
                Status = votes.Status,
                UserId = votes.UserId
            }).ToList().Skip((input.PagedResultDto.Page - 1) * input.PagedResultDto.SkipCount).Take(input.PagedResultDto.MaxResultCount);

            // Map Records
            List <VoteDto> ratingDto = MappingProfile.MappingConfigurationSetups().Map <List <VoteDto> >(query);

            //Apply Sort
            ratingDto = Sort(input.PagedResultDto.Sort, input.PagedResultDto.SortOrder, ratingDto);

            // Apply search
            if (!string.IsNullOrEmpty(input.PagedResultDto.Search))
            {
                ratingDto = ratingDto.Where(p => p.Status != null && p.Status.ToLower().ToString().ToLower().Contains(input.PagedResultDto.Search.ToLower()) ||
                                            p.TopicName != null && p.TopicName.ToString().ToLower().Contains(input.PagedResultDto.Search.ToLower()) ||
                                            p.DateCreated != null && p.DateCreated.ToString().ToLower().Contains(input.PagedResultDto.Search.ToLower()) ||
                                            p.UpVoteCount != null && p.UpVoteCount.ToString().ToLower().ToString().Contains(input.PagedResultDto.Search.ToLower()) ||
                                            p.DownVoteCount != null && p.DownVoteCount.ToString().ToLower().ToString().Contains(input.PagedResultDto.Search.ToLower())
                                            ).ToList();
            }
            return(ratingDto);
        }
Esempio n. 6
0
        protected virtual async Task Create(VoteDto input)
        {
            Vote voteDto = MappingProfile.MappingConfigurationSetups().Map <Vote>(input);

            _context.Vote.Add(voteDto);
            await _context.SaveChangesAsync();
        }
Esempio n. 7
0
        public async Task UpdateCalculationMethodAsync(VoteDto dto, CancellationToken token = default)
        {
            using (var db = new GuoGuoCommunityContext())
            {
                if (!Guid.TryParse(dto.Id, out var uid))
                {
                    throw new NotImplementedException("投票Id信息不正确!");
                }
                var vote = await db.Votes.Where(x => x.Id == uid).FirstOrDefaultAsync(token);

                if (vote == null)
                {
                    throw new NotImplementedException("该投票不存在!");
                }
                if (vote.VoteTypeValue == VoteTypes.VipOwnerElection.Value)
                {
                    throw new NotImplementedException("业委会改选不能进行此操作");
                }
                vote.CalculationMethodValue = CalculationMethod.Opposition.Value;
                vote.CalculationMethodName  = CalculationMethod.Opposition.Name;
                vote.LastOperationTime      = dto.OperationTime;
                vote.LastOperationUserId    = dto.OperationUserId;
                await db.SaveChangesAsync(token);
            }
        }
Esempio n. 8
0
        /// <summary>Vote +1 pour un chat, -1 pour un autre.</summary>
        /// <param name="vote">Le vote</param>
        /// <returns>Vrai si l'opération a réussi</returns>
        public async Task <bool> Vote(VoteDto vote)
        {
            await InitIfNecessary();

            if (vote == null)
            {
                return(false);
            }

            Cat catDown = await _context.Cats.FirstOrDefaultAsync(c => c.Id == vote.IdDown);

            if (catDown == null)
            {
                return(false);
            }

            Cat catUp = await _context.Cats.FirstOrDefaultAsync(c => c.Id == vote.IdUp);

            if (catUp == null)
            {
                return(false);
            }

            catDown.VoteDown++;
            catUp.VoteUp++;

            await _context.SaveChangesAsync();

            return(true);
        }
Esempio n. 9
0
 public static Vote ToModel(this VoteDto vote) =>
 new Vote
 {
     Id           = Guid.Parse(vote.Id),
     UserId       = Guid.Parse(vote.UserId),
     SuggestionId = Guid.Parse(vote.SuggestionId)
 };
        public async Task UpvoteTrack(VoteDto dto)
        {
            var playlistTrack = await _context.PlaylistTracks.SingleOrDefaultAsync(x => x.PlaylistId == dto.PlaylistId && x.TrackId == dto.TrackId);

            playlistTrack.Votes++;
            _context.PlaylistTracks.Update(playlistTrack);
            await _context.SaveChangesAsync();
        }
Esempio n. 11
0
        public async Task <List <Vote> > GetDeadListAsync(VoteDto dto, CancellationToken token = default)
        {
            using (var db = new GuoGuoCommunityContext())
            {
                var list = await db.Votes.Where(x => x.IsDeleted == false && x.StatusValue == VoteStatus.Processing.Value && x.Deadline < dto.OperationTime).ToListAsync(token);

                return(list);
            }
        }
Esempio n. 12
0
        public Vote Add(VoteDto addedVote)
        {
            var vote = new Vote()
            {
                Name = addedVote.Name ?? "",
            };

            _domainContext.Votes.Add(vote);
            return(vote);
        }
Esempio n. 13
0
        public async Task UpdateAsync(Guid currentVoteId, VoteDto newVote)
        {
            var vote = await _domainContext.Votes.FirstOrDefaultAsync(e => e.Id == currentVoteId);

            if (vote != null)
            {
                vote.Name = newVote.Name ?? "";
                _domainContext.Votes.Update(vote);
            }
        }
Esempio n. 14
0
        public IActionResult PostVote([FromBody] VoteDto vote)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var currentVote = _voteRepository.AddorUpdateVote(vote);

            return(Ok(currentVote));
        }
Esempio n. 15
0
        public VoteDto AddorUpdateVote(VoteDto incomingVote)
        {
            try
            {
                var post = _applicationDbContext.Posts.Where(p => p.PostId == incomingVote.PostId).FirstOrDefault();

                // did user vote on this post? No
                if (!VoteExists(incomingVote.PostId, incomingVote.UserId))
                {
                    if (incomingVote.UserVote == 1)
                    {
                        post.Likes++;
                    }
                    else if (incomingVote.UserVote == -1)
                    {
                        post.Likes--;
                    }

                    // add new vote
                    _applicationDbContext.Votes.Add(new Vote {
                        PostId = incomingVote.PostId, UserId = incomingVote.UserId, UserVote = incomingVote.UserVote
                    });
                }
                else
                {
                    // get the user vote.
                    var previousVote = _applicationDbContext.Votes.Where(v => v.UserId == incomingVote.UserId).FirstOrDefault();

                    // check it.
                    if (incomingVote.UserVote > previousVote.UserVote)
                    {
                        post.Likes++;
                        post.DisLikes--;
                    }
                    else if (incomingVote.UserVote < previousVote.UserVote)
                    {
                        post.Likes--;
                        post.DisLikes++;// = post.DisLikes++;
                    }

                    previousVote.UserVote = incomingVote.UserVote;
                    // update vote
                    _applicationDbContext.Update(previousVote);
                }
                // update post
                _applicationDbContext.Update(post);
                _applicationDbContext.SaveChanges();
                return(incomingVote);
            }
            catch (Exception ex)
            {
                _loggerRepository.Write(ex);
                return(null);
            }
        }
Esempio n. 16
0
 public async Task CreateOrEditVote(VoteDto input)
 {
     if (input.Id == null || input.Id == 0)
     {
         await Create(input);
     }
     else
     {
         await Update(input);
     }
 }
Esempio n. 17
0
        protected virtual async Task Update(VoteDto input)
        {
            var votes = await _context.Vote.Where(x => x.Id == input.Id).FirstOrDefaultAsync();

            if (votes != null)
            {
                Vote votesDto = MappingProfile.MappingConfigurationSetups().Map <Vote>(input);
                _context.Vote.Update(votesDto);
                await _context.SaveChangesAsync();
            }
        }
Esempio n. 18
0
        public async Task <IActionResult> Create(VoteDto request)
        {
            var userId = int.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier));

            var user = await _dbContext.Users.FindAsync(userId);

            user.Vote(request.MovieId, request.Type);

            await _dbContext.SaveChangesAsync();

            return(Created(string.Empty, default));
        }
Esempio n. 19
0
        public async Task <long> UpdateVote(VoteDto input)
        {
            var result = _voteRepository.GetAll().Where(x => x.Id == input.Id).FirstOrDefault();

            result.FilmAndSeriesId = input.FilmAndSeriesId;
            result.IsVoting        = input.IsVoting;
            result.Point           = input.Point;
            result.Description     = input.Description;
            await _voteRepository.UpdateAsync(result);

            return(input.Id);
        }
Esempio n. 20
0
        public async Task <long> AddVote(VoteDto input)
        {
            Vote vote = new Vote();

            vote.FilmAndSeriesId = input.FilmAndSeriesId;
            vote.Point           = input.Point;
            vote.Description     = input.Description;
            vote.IsVoting        = true;

            long id = await _voteRepository.InsertAndGetIdAsync(vote);

            return(id);
        }
Esempio n. 21
0
        public async Task <List <Vote> > GetAllForVipOwnerAsync(VoteDto dto, CancellationToken token = default)
        {
            using (var db = new GuoGuoCommunityContext())
            {
                var list = await db.Votes.Where(x => x.IsDeleted == false && x.DepartmentValue == Department.YeZhuWeiYuanHui.Value && x.StreetOfficeId == dto.StreetOfficeId && x.CommunityId == dto.CommunityId && x.SmallDistrictId == dto.SmallDistrictId).ToListAsync(token);

                if (!string.IsNullOrWhiteSpace(dto.Title))
                {
                    list = list.Where(x => x.Title.Contains(dto.Title)).ToList();
                }
                return(list);
            }
        }
Esempio n. 22
0
        public async Task <VoteDto> GetVoteForEdit(VoteDto input)
        {
            var votes = await _context.Vote.Where(x => x.Id == input.Id).FirstOrDefaultAsync();

            if (votes != null)
            {
                Vote voteDto = MappingProfile.MappingConfigurationSetups().Map <Vote>(input);
                _context.Vote.Update(voteDto);
                await _context.SaveChangesAsync();

                return(MappingProfile.MappingConfigurationSetups().Map <VoteDto>(voteDto));
            }
            return(new VoteDto());
        }
Esempio n. 23
0
        public async Task <IActionResult> Post([FromBody] VoteDto model, int id)
        {
            var exists = await this.books.ExistsAsync(id);

            if (!exists)
            {
                return(BadRequest(VoteErrorConstants.ErrorProcessingVoteMessage));
            }

            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            await this.votes.VoteAsync(userId, id, model.Vote);

            return(Ok());
        }
Esempio n. 24
0
        public async Task <IActionResult> Change(int id, VoteDto request)
        {
            var vote = await _dbContext.Votes.FindAsync(id);

            if (vote is null)
            {
                return(NotFound());
            }

            vote.SetVoteType(request.Type);

            await _dbContext.SaveChangesAsync();

            return(Ok());
        }
        public async Task <IActionResult> Vote([FromBody] VoteDto voteDto, CancellationToken ct)
        {
            var vote = await _context.Votes
                       .FirstOrDefaultAsync(v => v.CommentId == voteDto.CommentId && v.User == voteDto.User, ct)
                       .ConfigureAwait(false);

            if (vote != null)
            {
                await UpdateExistingVote(voteDto, vote, ct);
            }
            else
            {
                await AddNewVote(voteDto, ct);
            }
            return(Accepted());
        }
Esempio n. 26
0
        public async Task <Round> ExpeditonVote(VoteDto model)
        {
            Game g = GameStore.GetGame(model.GameId);

            g.CurrentRound.ExpeditionVote(model.Vote);
            if (g.CurrentRound.TotalMissionVotes >= g.CurrentRound.CurrentTeam.Count)
            {
                await ExpeditionResults(g);
            }
            else
            {
                GameStore.AddOrUpdateGame(g);
                await _gameHub.Clients.Group(model.GameId.ToString()).SendAsync("UpdateHost");
            }
            return(g.CurrentRound);
        }
Esempio n. 27
0
        public async Task <Round> VoteForTeam(VoteDto model)
        {
            Game g = GameStore.GetGame(model.GameId);

            g.CurrentRound.TeamVote(model.Vote);
            if (g.CurrentRound.TotalTeamVotes >= g.Players.Count)
            {
                await VoteForTeamResults(g);
            }
            else
            {
                GameStore.AddOrUpdateGame(g);
                await _gameHub.Clients.Group(model.GameId.ToString()).SendAsync("UpdateHost");
            }
            return(g.CurrentRound);
        }
Esempio n. 28
0
        public IActionResult GetVote([FromBody] VoteDto vote)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            // Vote checkVote = new Vote { PostId = postId, UserId = userId };
            var castVote = _voteRepository.GetVote(vote);

            //if (castVote == null)
            //{
            //    return NotFound();
            //}

            return(Ok(castVote));
        }
        private async Task AddNewVote(VoteDto voteDto, CancellationToken ct)
        {
            var vote = _mapper.Map <Vote>(voteDto);

            _context.Votes.Add(vote);
            await _context.SaveChangesAsync(ct);

            if (vote.Value > 0)
            {
                await _context.AddUpVoteAsync(voteDto.CommentId, ct).ConfigureAwait(false);
            }
            else
            {
                await _context.AddDownVoteAsync(voteDto.CommentId, ct).ConfigureAwait(false);
            }
        }
Esempio n. 30
0
        public IHttpActionResult VoteAction(VoteDto voteDto)
        {
            var userId   = User.Identity.GetUserId();
            var question = _unitOfWork.Questions.GetQuestionByQuestionId(voteDto.QuestionId);


            var isVote = question != null && question.Votes.Any(v => v.UserId == userId);

            if (isVote)
            {
                var userVote = question.Votes.SingleOrDefault(v => v.UserId == userId);
                if (userVote == null)
                {
                    return(Ok());
                }

                var userVoteState = userVote.VoteState;
                var canVote       = userVoteState + voteDto.VoteAction == 0 || userVoteState == 0;

                if (!canVote)
                {
                    return(Json(new { isVoteUp = true }));
                }

                userVote.VoteState += voteDto.VoteAction;
                _unitOfWork.Complete();
                if (userVote.VoteState == 0)
                {
                    return(Json(new { isRollBack = true }));
                }

                return(Ok());
            }

            var vote = new Vote()
            {
                QuestionId = voteDto.QuestionId,
                UserId     = userId,
                DateTime   = DateTime.Now,
                VoteState  = voteDto.VoteAction
            };

            _unitOfWork.Votes.Add(vote);
            _unitOfWork.Complete();

            return(Ok());
        }