Exemple #1
0
        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
Exemple #2
0
        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));
        }