コード例 #1
0
ファイル: AnswerController.cs プロジェクト: 81300988/miniqora
        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 }));
        }
コード例 #2
0
ファイル: AnswerRepository.cs プロジェクト: 81300988/miniqora
        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);
        }
コード例 #3
0
 public int UpdateVoteForAnswer(UpdateVoteForAnswer model)
 {
     return(_answerRepository.UpdateVoteForAnswer(model));
 }