コード例 #1
0
        // GET: TagsController/AttachQuestionTag
        public async Task <IActionResult> AttachQuestionTag(int tagId, int questionId)
        {
            try
            {
                var question = await _repository.GetQuestionByIdWithoutDetailsAsync(questionId);

                if (question == null)
                {
                    Response.StatusCode      = 404;
                    ViewData["ErrorMessage"] = "404 Resource not found.";
                    return(View("Error"));
                }
                var tag = await _repository.GetTagByIdAsync(tagId);

                if (tag == null)
                {
                    Response.StatusCode      = 404;
                    ViewData["ErrorMessage"] = "404 Resource not found.";
                    return(View("Error"));
                }
                QuestionTag newQuestionTag = new QuestionTag
                {
                    QuestionId = questionId,
                    TagId      = tagId
                };
                await _repository.AttachQuestionTagAsync(newQuestionTag);

                return(RedirectToAction("Details", "Questions", new { questionId = questionId }));
            }
            catch (DbUpdateException dbex)
            {
                ViewData["ErrorMessage"] = "DB issue - " + dbex.Message;
                return(View("Error"));
            }
            catch (Exception ex)
            {
                ViewData["ErrorMessage"] = ex.Message;
                return(View("Error"));
            }
        }