public ActionResult Edit([Bind(Include = "Id,Title,Description,ProjectId,ExecutorId,StartDate,EndDate,StatusId,CreateDate")] Task task) { if (!CanCRUD(task.ProjectId)) { throw new Exception("У вас нет разрешения на эту страницу"); } if (ModelState.IsValid) { var old = db.Tasks.Where(x => x.Id == task.Id).FirstOrDefault(); old.ModifiedDate = DateTime.Now; old.Title = task.Title; old.Description = task.Description; old.StartDate = task.StartDate; old.EndDate = task.EndDate; old.ExecutorId = task.ExecutorId; if (old.StatusId != task.StatusId) { var log = new TaskStatusLog(); log.TaskId = old.Id; log.CreateDate = DateTime.Now; log.StatusId = task.StatusId; db.TaskStatusLogs.Add(log); } old.StatusId = task.StatusId; db.SaveChanges(); return(RedirectToAction("Index", new { projectId = task.ProjectId })); } ViewBag.ExecutorId = new SelectList(db.AspNetUsers, "Id", "Email", task.ExecutorId); ViewBag.StatusId = new SelectList(db.TaskStatuses, "Id", "Name", task.StatusId); return(View(task)); }
public ActionResult Details(Task task) { Task old = db.Tasks.Find(task.Id); if (task == null) { return(HttpNotFound()); } old.StatusId = task.StatusId; var log = new TaskStatusLog(); log.TaskId = task.Id; log.StatusId = task.StatusId; log.CreateDate = DateTime.Now; db.TaskStatusLogs.Add(log); db.SaveChanges(); return(View(task)); }