public ActionResult Index(string statusMessage) { var status = new Status { User = context.Users.Find(WebSecurity.CurrentUserId), Message = statusMessage, DateTime = DateTime.Now }; context.Status.Add(status); context.SaveChanges(); return RedirectToAction("Index"); }
public ActionResult AddStatus(string text) { var status = new Status { Author = currentUser, DateTime = DateTime.Now, Text = text, IsDeletable = true }; context.Status.Add(status); context.SaveChanges(); ModelState.Clear(); return PartialView("StatusPartial", status); }
public ActionResult RemoveStatus(Status model) { var status = context.Status.Find(model.Id); if (currentUser.CanDelete(status)) { status.Comments.ToList().ForEach(c => context.Comments.Remove(c)); context.Status.Remove(status); context.SaveChanges(); } var statuses = Statuses(); ModelState.Clear(); return PartialView("StatusesPartial", statuses); }
private IQueryable<Comment> CommentsByStatus(Status status) { var currentUser = context.Users .Find(WebSecurity.CurrentUserId); var comments = context.Comments .Where(c => c.Status.Id == status.Id); foreach (var comment in comments) { comment.IsUpdatable = currentUser.CanUpdate(comment); comment.IsDeletable = currentUser.CanDelete(comment); } return comments; }
public bool CanDelete(Status status) { return Id == status.Author.Id; }