public IActionResult AddVoteForAnswer(UpdateVoteForAnswer model) { string tokenString = Request.Headers["Authorization"]; int currentUserId = JwtAthentication.GetCurrentUserId(tokenString); model.UserId = currentUserId; var totalVoteForAnswer = _answerService.UpdateVoteForAnswer(model); return(Ok(new { totalVoteForAnswer = totalVoteForAnswer })); }
public int UpdateVoteForAnswer(UpdateVoteForAnswer model) { var paramForUpdateVote = new DynamicParameters(); paramForUpdateVote.Add("@AnswerId", model.AnswerId); paramForUpdateVote.Add("@UserId", model.UserId); var totalVote = _dbConnection.QueryFirstOrDefault <int>(@"if not exists(select 1 from vote where UserId = @UserId and AnswerId = @AnswerId) begin insert into Vote(UserId, AnswerId, CreatedDate) values(@UserId, @AnswerId, getdate()) end else begin delete Vote where UserId = @UserId and AnswerId = @AnswerId end select count(VoteId) from Vote where AnswerId = @AnswerId", paramForUpdateVote); return(totalVote); }
public int UpdateVoteForAnswer(UpdateVoteForAnswer model) { return(_answerRepository.UpdateVoteForAnswer(model)); }