// 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")); } }