public async Task <IActionResult> UpdateProcess(int id) { if (id == null) { return(RedirectToAction("Home", "Update")); } var owner = await userManager.GetUserAsync(HttpContext.User); var appuser = AppUser.ApplicationUserToAppUser(owner); var idea = IdeaEx.IdeaById(id, owner, context); if (idea.Authorized && idea.Idea.Owner.Id == owner.Id) { var vm = new UpdateViewModel { JsonData = JsonConvert.SerializeObject(idea, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }) }; return(View(vm)); } else { return(RedirectToAction("Account", "Login")); } }
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("")); }
public async Task <IActionResult> RemoveComment([FromBody] ListViewModel vm) { if (ModelState.IsValid) { try { var owner = await userManager.GetUserAsync(HttpContext.User); var idea = context.Ideas.Include(r => r.Stats).Where(r => r.Comments.Any(x => x.Id == vm.CommentId && x.Owner.Id == owner.Id) && r.Id == vm.IdeaId).FirstOrDefault(); if (idea != null && Comment.Remove(vm.CommentId, owner, context)) { UserStats.RemoveComment(owner, context); Stats.RemoveComments(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("")); }
public async Task <IActionResult> ById([FromBody] ListViewModel vm) { var owner = await userManager.GetUserAsync(HttpContext.User); var idea = IdeaEx.IdeaById(vm.IdeaId, owner, context); var JsonData = JsonConvert.SerializeObject(idea, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); return(Json(JsonData)); }
public async Task <IActionResult> Details(int id) { var owner = await userManager.GetUserAsync(HttpContext.User); var idea = IdeaEx.IdeaById(id, owner, context); Stats.AddViews(idea.Idea); var json = new DetailsViewModel { JsonData = JsonConvert.SerializeObject(idea, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }) }; return(View(json)); }