public async Task <ActionResult> Create(PostCreateViewModel model) { _logger.Info("Creating Post! Params: " + model.ToJson()); if (!ModelState.IsValid) { _logger.Error("Creating Post Form Invalid! Errors: " + ModelState.ToJson()); return(Json(ModelState.ToDictionary())); } if (!await _themesManager.Exists(model.ThemeId)) { ModelState.AddModelError("ThemeId", "Темата не съществува!"); _logger.Error("Creating Post Form Invalid! Errors: " + ModelState.ToJson()); return(Json(ModelState.ToDictionary())); } try { var post = await _postsManager.Create(model, User.Identity.GetUserId()); _logger.Info("Post created successfully!"); return(Json(post)); } catch (Exception ex) { _logger.Error(ex, "Post Creationg Failed!"); throw; } }
public ActionResult <Post> Create(Post post) { _postService.Create(post); return(CreatedAtRoute("GetPost", new { id = post.Id.ToString() }, post)); }