public IActionResult Edit(EditAnswerModel editAnswerModel)
        {
            if (this.ModelState.IsValid &&
                this.answersService.Exists(editAnswerModel.AnswerId.Value) &&
                this.questionsService.Exists(editAnswerModel.QuestionId.Value) &&
                (this.answersService.UserCanEdit(editAnswerModel.AnswerId.Value, this.User.GetUserId()) ||
                 this.User.IsInRole(GlobalConstants.AdminRoleName) ||
                 this.User.IsInRole(GlobalConstants.ModeratorRoleName)))
            {
                this.answersService.Update(editAnswerModel.AnswerId.Value, editAnswerModel.Content);

                return(RedirectToAction("Details", "Questions", new { id = editAnswerModel.QuestionId.Value }));
            }

            return(View(editAnswerModel));
        }
        public IActionResult Edit(int?answerId, int?questionId)
        {
            if (answerId != null && questionId != null &&
                this.answersService.Exists(answerId.Value) &&
                this.questionsService.Exists(questionId.Value) &&
                (this.answersService.UserCanEdit(answerId.Value, this.User.GetUserId()) ||
                 this.User.IsInRole(GlobalConstants.AdminRoleName) ||
                 this.User.IsInRole(GlobalConstants.ModeratorRoleName)))
            {
                EditAnswerModel model = new EditAnswerModel();
                model.QuestionId = questionId.Value;
                model.Content    = this.answersService.GetAnswerContent(answerId.Value);

                return(View(model));
            }

            return(BadRequest());
        }