Example #1
0
        public async Task <ActionResult> EndorseAnswer(int answerId)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            if (user == null)
            {
                return(Unauthorized());
            }

            var endorsement = await _context.EndorsedAnswers.Where(x => x.UserId == user.Id && x.AnswerId == answerId).FirstOrDefaultAsync();

            if (endorsement != null)
            {
                return(BadRequest("Answer has already been endorsed by the user."));
            }

            var endorsedAnswer = new EndorsedAnswer
            {
                UserId   = user.Id.ToString(),
                AnswerId = answerId,
            };

            _context.EndorsedAnswers.Add(endorsedAnswer);
            await _context.SaveChangesAsync();

            return(NoContent());
        }
Example #2
0
        public async Task <ActionResult> RemoveAnswerEndorsement(int answerId)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            if (user == null)
            {
                return(Unauthorized());
            }

            EndorsedAnswer endorsedAnswer = await _context.EndorsedAnswers.Where(x => x.AnswerId == answerId && x.UserId == user.Id).FirstOrDefaultAsync();

            if (endorsedAnswer == null)
            {
                return(NotFound());
            }

            _context.EndorsedAnswers.Remove(endorsedAnswer);

            await _context.SaveChangesAsync();

            return(NoContent());
        }
Example #3
0
        public async Task <ActionResult <EndorsedAnswerViewModel> > GetEndorsedAnswer(int answerId)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            if (user == null)
            {
                return(Unauthorized());
            }

            EndorsedAnswer endorsedAnswer = await _context.EndorsedAnswers.Where(x => x.AnswerId == answerId && x.UserId == user.Id).FirstOrDefaultAsync();

            if (endorsedAnswer == null)
            {
                return(NotFound());
            }

            return(new EndorsedAnswerViewModel
            {
                Id = endorsedAnswer.Id,
                AnswerId = endorsedAnswer.AnswerId,
                UserId = endorsedAnswer.UserId,
            });
        }