public async Task <IActionResult> Create([Bind("Id,Name")] Topic topic) { if (ModelState.IsValid) { await Task.Run(() => _repository.CreateTopic(topic)); return(RedirectToAction("Index")); } return(View(topic)); }
public async Task <IActionResult> Create(ControllerModels.Topics.CreateTopicInput input) { if (Request.Method != "GET") { foreach (var board in await BoardRepository.Records()) { if (Request.Form.TryGetValue("Selected_" + board.Id, out var boardSelected)) { if (boardSelected == "True") { input.SelectedBoards.Add(board.Id); } } } } if (input.Action == Options.ECreateTopicSaveAction.AddEvent) { var editEventViewModel = new ViewModels.Topics.EditEventForm { FormAction = nameof(CreateEvent), FormController = nameof(Topics), Body = input.Body, SelectedBoards = JsonConvert.SerializeObject(input.SelectedBoards) }; ModelState.ClearValidationState(input.Body); return(View("EditEvent", editEventViewModel)); } if (ModelState.IsValid) { var result = await TopicRepository.CreateTopic(input); ModelState.AddModelErrors(result.Errors); if (ModelState.IsValid) { var redirectPath = Url.DisplayMessage(result.TopicId, result.MessageId); return(Redirect(redirectPath)); } } var viewModel = new ViewModels.Topics.CreateTopicForm { Body = input.Body, SelectedBoards = input.SelectedBoards, AllDay = input.AllDay, Start = input.Start, End = input.End }; return(View(viewModel)); }
public async Task <IActionResult> Create(ControllerModels.Topics.CreateTopicInput input) { if (ModelState.IsValid) { // Creating a topic via bookmarklet if (Request.Method == "GET" && input.BoardId != null) { input.SelectedBoards.Add((int)input.BoardId); } else { foreach (var board in await BoardRepository.Records()) { if (Request.Form.TryGetValue("Selected_" + board.Id, out var boardSelected)) { if (boardSelected == "True") { input.SelectedBoards.Add(board.Id); } } } } var result = await TopicRepository.CreateTopic(input); ModelState.AddModelErrors(result.Errors); if (ModelState.IsValid) { var redirectPath = Url.DisplayMessage(result.TopicId, result.MessageId); return(Redirect(redirectPath)); } } ViewData["Smileys"] = await SmileyRepository.GetSelectorList(); var viewModel = new ViewModels.Topics.CreateTopicForm { BoardId = input.BoardId.ToString(), Body = input.Body }; return(await ForumViewResult.ViewResult(this, viewModel)); }