public async Task <IActionResult> PostComment([FromBody] ListViewModel vm) { if (ModelState.IsValid) { try { var owner = await userManager.GetUserAsync(HttpContext.User); var idea = context.Ideas.Include(r => r.Stats).Include(r => r.Comments).Include(r => r.Owner).FirstOrDefault(r => r.Id == vm.IdeaId); if (idea.Owner != owner) { Notification.Add(NotificationType.Commented, idea.Owner, owner, idea, context); } Comment.Add(owner, idea, vm.Comment); UserStats.AddComment(owner, context); Stats.AddComments(idea); await context.SaveChangesAsync(); var ideaEx = IdeaEx.IdeaById(vm.IdeaId, owner, context); var JsonData = JsonConvert.SerializeObject(ideaEx, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); return(Json(JsonData)); } catch (Exception ex) { ex = ex; } } else { var JsonDataError = JsonConvert.SerializeObject(ModelState.Values, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); return(Json(JsonDataError)); } return(Json("")); }