public ActionResult Edit([Bind(Include = "Id,Title,Description,Created,Updated,ProjectId,TicketTypeId,TicketPriorityId,TicketStatusid,OwnerUserId,AssignToUserId")] Ticket ticket) { ViewBag.UserTimeZone = db.Users.Find(User.Identity.GetUserId()).TimeZone; ViewBag.AssignToUserId = new SelectList(db.Users, "Id", "FirstName", ticket.AssignToUserId); ViewBag.OwnerUserId = new SelectList(db.Users, "Id", "FirstName", ticket.OwnerUserId); ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Title", ticket.ProjectId); ViewBag.TicketPriorityId = new SelectList(db.TicketPrioritites, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusid = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusid); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); var user = db.Users.Find(User.Identity.GetUserId()); if (ModelState.IsValid) { ticket.Updated = DateTimeOffset.UtcNow; HistoryHelper helper = new HistoryHelper(); TicketHistory ticketHistory = new TicketHistory(); Ticket oldTicket = db.Tickets.AsNoTracking().First(t => t.Id == ticket.Id); if (oldTicket.Title != ticket.Title) { helper.AssignTicketTitle(ticket, user.Id); } if (oldTicket.Description != ticket.Description) { helper.AssignTicketDescription(ticket, user.Id); } if (oldTicket.TicketPriorityId != ticket.TicketPriorityId) { helper.AssignTicketPriority(ticket, user.Id); } if (oldTicket.TicketStatusid != ticket.TicketStatusid) { helper.AssignTicketStatus(ticket, user.Id); } if (oldTicket.TicketTypeId != ticket.TicketTypeId) { helper.AssignTickettype(ticket, user.Id); } if (ticket.TicketStatusid == 1) { ticket.Archive = true; } db.Entry(ticket).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", new { id = ticket.Id })); } return(View(ticket)); }