public IActionResult Edit(int id) { var forum = this.forumsService.GetById <ForumEditInputModel>(id); if (forum == null) { return(this.NotFound()); } var categories = this.categoriesService.GetAllMissingByForumId <CategoryEditViewModel>(id).ToArray(); var viewModel = new ForumAdministrationEditInputModel { Forum = forum, Categories = categories, }; return(this.View(viewModel)); }
public async Task <IActionResult> Edit(ForumAdministrationEditInputModel input) { if (!this.ModelState.IsValid) { var forum = this.forumsService.GetById <ForumEditInputModel>(input.Id); var categories = this.categoriesService.GetAllMissingByForumId <CategoryEditViewModel>(input.Id).ToArray(); input.Forum = forum; input.Categories = categories; return(this.View(input)); } var forumId = await this.forumsService.EditAsync(input.Id, input.Forum.Name, input.CategoryIds, input.AreSelected); if (forumId == -1) { return(this.NotFound()); } if (forumId == 0) { this.ModelState.AddModelError( "Forum.Name", string.Format(GlobalConstants.CategoryNameAlreadyExistsErrorMessage, input.Forum.Name)); } if (!this.ModelState.IsValid) { var forum = this.forumsService.GetById <ForumEditInputModel>(input.Id); var categories = this.categoriesService.GetAllMissingByForumId <CategoryEditViewModel>(input.Id).ToArray(); input.Forum = forum; input.Categories = categories; return(this.View(input)); } this.TempData["InfoMessage"] = "Forum edited successfully!"; return(this.RedirectToAction(nameof(this.Index))); }