public ActionResult PriorityChange(PriorityChangeViewModel prichange) { var comment = new Comment(); if (ModelState.IsValid) { var cu = User.Identity.GetUserName(); var usrs = this.db.Users.Single(u => u.UserName == cu).Id; comment.UserId = usrs; comment.TicketId = prichange.TicketId; comment.Comment1 = prichange.Comment; db.Comments.Add(comment); db.SaveChanges(); var ct = db.Tickets.Single(id => id.Id == comment.TicketId); var oldstat = ct.Priority.Name; ct.PriorityId = prichange.PriorityId; ct.LastedUpdated = DateTime.Now; db.Entry(ct).State = EntityState.Modified; db.SaveChanges(); // Create History Event var eventstr = "Priority on Ticket: " + ct.Title + " has changed from \"" + oldstat + "\" to \"" + ct.Priority.Name + "\"."; var he = new History(ct.Id, usrs, eventstr); db.Histories.Add(he); db.SaveChanges(); // Notify Assignee var ne = new Notification(ct.Id, ct.AssignedId, eventstr); db.Notifications.Add(ne); db.SaveChanges(); // Notify Project Manager if not assignee var nep = new Notification(ct.Id, ct.User1.Id, eventstr); if (ne.UserId != nep.UserId) { db.Notifications.Add(nep); db.SaveChanges(); } return(RedirectToAction("../Tickets/Details/" + comment.TicketId)); } var tick = db.Tickets.Single(i => i.Id == prichange.TicketId); ViewBag.tickettitle = tick.Title; ViewBag.StatusId = new SelectList(db.Status.OrderBy(so => so.SortOrder), "Id", "Name"); return(View(prichange)); } // end of Priortiy Change
public ActionResult PriorityChange(int?ticketid) { var ct = new PriorityChangeViewModel(); if (ticketid == null) { ViewBag.tickettitle = "---"; } else { var tick = db.Tickets.Single(i => i.Id == ticketid); ViewBag.tickettitle = tick.Title; ct.TicketId = ticketid.GetValueOrDefault(); } ViewBag.PriorityId = new SelectList(db.Priorities.OrderBy(so => so.SortOrder), "Id", "Name"); ViewBag.PreviousPage = Request.UrlReferrer.AbsolutePath.ToString(); ViewBag.SCMessage = ""; return(View(ct)); }