public async Task <IActionResult> AddTopic(TopicViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var afc = new AddTopicCommand { Topic = new Topic { Title = model.Title, Description = model.Description, ShowOnHomePage = model.ShowOnHomePage } }; var result = await _cp.ProcessAsync(afc); if (result.Succeeded) { _logger.LogInformation("Added Topic {0}.", model.Title); return(RedirectToAction("ManageTopics")); } _logger.LogWarning("Unable to add Topic {0}.", model.Title); // todo: better error handling ModelState.AddModelError("Error", "Unable to add topic, perhaps the title is not unique."); return(View(model)); }
private static async Task HandleNewTopicAsync() { var newTopic = RequestNewTopic(); var data = AddTopicCommand.FromTopic(newTopic); var header = new Header { Command = CommandType.NewTopic, DataLength = data.Length, Type = HeaderType.Request }; await EncodeHeaderAndSendAsync(header); await SendCommandDataAsync(data); var response = await ReceiveServerResponseAsync(); PrintServerResponse(response); }