public async Task <IActionResult> Edit(InputModels.EditBoardInput input) { if (ModelState.IsValid) { var serviceResponse = BoardRepository.UpdateBoard(input); return(await ForumViewResult.RedirectFromService(this, serviceResponse, FailureCallback)); } return(await FailureCallback()); async Task <IActionResult> FailureCallback() { var boardRecord = BoardRepository.First(b => b.Id == input.Id); var viewModel = new PageViewModels.EditPage { Id = boardRecord.Id, Categories = BoardRepository.CategoryPickList(), Roles = RoleRepository.PickList(boardRecord.Id) }; viewModel.Name = input.Name; viewModel.Description = input.Description; if (!string.IsNullOrEmpty(input.Category)) { viewModel.Categories.First(item => item.Value == input.Category).Selected = true; } return(await Task.Run(() => { return ForumViewResult.ViewResult(this, viewModel); })); } }
public async Task <IActionResult> Create(int id = 0) { var board = BoardRepository.First(item => item.Id == id); if (Request.Query.TryGetValue("source", out var source)) { return(await Create(new InputModels.MessageInput { BoardId = id, Body = source })); } var viewModel = new ViewModels.Messages.CreateTopicPage { BoardId = id }; return(ForumViewResult.ViewResult(this, viewModel)); }
public IActionResult Edit(int id) { var boardRecord = BoardRepository.First(b => b.Id == id); var category = BoardRepository.Categories.First(item => item.Id == boardRecord.CategoryId); var viewModel = new PageViewModels.EditPage { Id = boardRecord.Id, Name = boardRecord.Name, Description = boardRecord.Description, Categories = BoardRepository.CategoryPickList(), Roles = RoleRepository.PickList(boardRecord.Id), }; viewModel.Categories.First(item => item.Text == category.Name).Selected = true; return(ForumViewResult.ViewResult(this, viewModel)); }