public async Task <ActionResult <VoteResponseModel> > VotePost(VoteInputModel input) { var user = await this.usermanager.GetUserAsync(this.User); await this.votesService.VoteAsync(input.PostId, user.Id, input.IsUpVote); var votes = new VoteResponseModel() { VotesCount = this.votesService.GetVotes(input.PostId), }; return(votes); }
public async Task <ActionResult <VoteResponseModel> > Post(VoteInputModel input) { string userId = this.userManager.GetUserId(this.User); if (userId == null) { return(this.Unauthorized()); } Vote vote = this.dbContext.Votes.FirstOrDefault(v => v.ArticleId == input.ArticleId && v.AuthorId == userId); VoteType voteType = input.IsUp ? VoteType.Up : VoteType.Down; var responseModel = new VoteResponseModel { IsUpvoted = input.IsUp, IsDownvoted = !input.IsUp, }; if (vote == null) { vote = new Vote { Type = voteType, ArticleId = input.ArticleId, AuthorId = userId, }; this.dbContext.Votes.Add(vote); } else { if (vote.Type == VoteType.Up && input.IsUp || vote.Type == VoteType.Down && !input.IsUp) { vote.Type = VoteType.None; responseModel.IsUpvoted = false; responseModel.IsDownvoted = false; } else { vote.Type = voteType; } } await this.dbContext.SaveChangesAsync(); responseModel.Upvotes = this.articlesService.GetUpvotesCount(input.ArticleId); responseModel.Downvotes = this.articlesService.GetDownvotesCount(input.ArticleId); return(responseModel); }
public async Task <ActionResult <VoteResponseModel> > Post(VoteInputModel input) { var userId = this.userManager.GetUserId(this.User); await this.votesService.VoteAsync(input.VideoId, userId, input.IsUpVote); var viewModel = new VoteResponseModel { UpVotesCount = this.votesService.GetUpVotes(input.VideoId), DownVotesCount = this.votesService.GetDownVotes(input.VideoId), }; return(viewModel); }
public async Task <ActionResult <VoteResponseModel> > Post(VoteInputModel inputModel) { var user = await this.userManager.GetUserAsync(this.User); await this.votesService.VoteAsync(inputModel.DiseaseId, user.Id, inputModel.IsUpVote); var votes = this.votesService.GetVotes(inputModel.DiseaseId); VoteResponseModel voteResponseModel = new VoteResponseModel { VotesCount = votes, }; return(voteResponseModel); }
public ActionResult Index(VoteResponseModel response) { if (response == null || response.Token == null) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest)); } var query = db.Participants.Where(p => p.Token.Equals(response.Token, StringComparison.InvariantCultureIgnoreCase)); if (query == null || query.Count() == 0) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.Unauthorized)); } query.First().IsVoted = false; db.Participants.Where(p => p.Id == response.VictimId).First().Rating += 1; return(View("Congratulation")); }