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 async Task <IActionResult> Edit(InputModels.MessageInput input) { if (ModelState.IsValid) { var serviceResponse = await MessageRepository.EditMessage(input); return(await ForumViewResult.RedirectFromService(this, serviceResponse, FailureCallback)); } return(await FailureCallback()); async Task <IActionResult> FailureCallback() { var viewModel = new ViewModels.Messages.CreateTopicPage { Body = input.Body }; return(await Task.Run(() => { return ForumViewResult.ViewResult(this, viewModel); })); } }
public async Task <IActionResult> Create(InputModels.MessageInput input) { if (ModelState.IsValid) { if (Request.Method == "GET" && input.BoardId != null) { input.SelectedBoards.Add((int)input.BoardId); } else { foreach (var board in BoardRepository) { if (Request.Form.TryGetValue("Selected_" + board.Id, out var boardSelected)) { if (boardSelected == "True") { input.SelectedBoards.Add(board.Id); } } } } var serviceResponse = await MessageRepository.CreateTopic(input); return(await ForumViewResult.RedirectFromService(this, serviceResponse, FailureCallback)); } return(await FailureCallback()); async Task <IActionResult> FailureCallback() { var viewModel = new ViewModels.Messages.CreateTopicPage() { BoardId = input.BoardId, Body = input.Body }; return(await Task.Run(() => { return ForumViewResult.ViewResult(this, viewModel); })); } }