Beispiel #1
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Ticket ticket      = db.Tickets.Find(id);
            var    currentUser = db.Users.Find(User.Identity.GetUserId());

            if (ticket.TicketStatus.Name != "Resolved")
            {
                TicketHistoryEvent th = new TicketHistoryEvent
                {
                    TicketId    = ticket.Id,
                    Property    = "Status",
                    NewValue    = "Resolved",
                    OldValue    = db.TicketStatuses.Find(ticket.TicketStatusId).Name,
                    ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                    UserId      = User.Identity.GetUserId()
                };
                db.TicketHistoryEvents.Add(th);
                db.SaveChanges();

                int ticketStatusId = db.TicketStatuses.FirstOrDefault(ts => ts.Name == "Resolved").Id;
                ticket.TicketStatusId = ticketStatusId;

                db.Entry(ticket).Property("TicketStatusId").IsModified = true;
                db.SaveChanges();

                if (!(ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A"))
                {
                    //email notification
                    try
                    {
                        var from  = "ReSolve Bugtracker<*****@*****.**>";
                        var to    = db.Users.Find(ticket.AssignedToId).Email;
                        var email = new MailMessage(from, to)
                        {
                            Subject    = "Ticket has been resolved",
                            Body       = $"A ticket you are assigned to (<strong>{ticket.Title}</strong>) has been set to resolved by {currentUser.FirstName} {currentUser.LastName}.", //"Ticket Details can be found <a href='/Tickets/Details/{ticket.Id}'>here</a>.",
                            IsBodyHtml = true
                        };
                        var svc = new PersonalEmail();
                        await svc.SendAsync(email);

                        ViewBag.Message = "Email has been sent";
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        await Task.FromResult(0);
                    }
                }
            }

            return(RedirectToAction("Index"));
        }
Beispiel #2
0
        public async Task <ActionResult> Unassign([Bind(Include = "UserId,ticketId")] TicketAssignViewModel model)
        {
            Ticket ticket = db.Tickets.Find(model.ticketId);

            var userId      = User.Identity.GetUserId();
            var currentUser = db.Users.Find(userId);

            if (!URManager.UserIsInRole(userId, "Administrator"))
            {
                if (!(ticket.Project.InChargeOfId == userId))
                {
                    return(RedirectToAction("Login", "Account"));
                }
            }

            if ("Unassigned" != db.TicketStatuses.Find(ticket.TicketStatusId).Name)
            {
                TicketHistoryEvent th = new TicketHistoryEvent
                {
                    TicketId    = ticket.Id,
                    Property    = "Status",
                    NewValue    = "Unassigned",
                    OldValue    = db.TicketStatuses.Find(ticket.TicketStatusId).Name,
                    ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                    UserId      = User.Identity.GetUserId()
                };
                db.TicketHistoryEvents.Add(th);
                db.SaveChanges();
            }

            var user = db.Users.Find(model.UserId);

            if (!(ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A"))
            {
                TicketHistoryEvent th1 = new TicketHistoryEvent
                {
                    TicketId    = ticket.Id,
                    Property    = "Assigned To",
                    NewValue    = "N/A",
                    OldValue    = db.Users.Find(ticket.AssignedToId).FirstName + " " + db.Users.Find(ticket.AssignedToId).LastName,
                    ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                    UserId      = User.Identity.GetUserId()
                };
                db.TicketHistoryEvents.Add(th1);
                db.SaveChanges();

                //email notification
                try
                {
                    var from  = "ReSolve Bugtracker<*****@*****.**>";
                    var to    = db.Users.Find(ticket.AssignedToId).Email;
                    var email = new MailMessage(from, to)
                    {
                        Subject    = "You were unassigned",
                        Body       = $"You were unassigned from ticket: <strong>{ticket.Title}</strong> by {currentUser.FirstName} {currentUser.LastName}.",
                        IsBodyHtml = true
                    };
                    var svc = new PersonalEmail();
                    await svc.SendAsync(email);

                    ViewBag.Message = "Email has been sent";
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    await Task.FromResult(0);
                }
            }

            ticket.AssignedToId = null;
            db.Entry(ticket).Property("AssignedToId").IsModified = true;
            db.SaveChanges();
            int ticketStatusId = db.TicketStatuses.FirstOrDefault(ts => ts.Name == "Unassigned").Id;

            ticket.TicketStatusId = ticketStatusId;
            db.Entry(ticket).Property("TicketStatusId").IsModified = true;
            db.SaveChanges();

            return(RedirectToAction("Details", new { id = ticket.Id }));
        }
Beispiel #3
0
        public async Task <ActionResult> Assign([Bind(Include = "UserId,ticketId")] TicketAssignViewModel model)
        {
            Ticket ticket      = db.Tickets.Find(model.ticketId);
            var    currentUser = db.Users.Find(User.Identity.GetUserId());

            //make sure user is eligable for assignment
            if (ModelState.IsValid && URManager.UsersInRole("Developer").Where(u => ticket.Project.Users.Select(u1 => u1.Id).Contains(u.Id)).Select(u2 => u2.Id).Contains(model.UserId))
            {
                if ("Assigned" != db.TicketStatuses.Find(ticket.TicketStatusId).Name)
                {
                    TicketHistoryEvent th = new TicketHistoryEvent
                    {
                        TicketId    = ticket.Id,
                        Property    = "Status",
                        NewValue    = "Assigned",
                        OldValue    = db.TicketStatuses.Find(ticket.TicketStatusId).Name,
                        ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                        UserId      = User.Identity.GetUserId()
                    };
                    db.TicketHistoryEvents.Add(th);
                    db.SaveChanges();
                }

                var user = db.Users.Find(model.UserId);
                if (ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A")
                {
                    TicketHistoryEvent th1 = new TicketHistoryEvent
                    {
                        TicketId    = ticket.Id,
                        Property    = "Assigned To",
                        NewValue    = user.FirstName + " " + user.LastName,
                        OldValue    = "N/A",
                        ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                        UserId      = User.Identity.GetUserId()
                    };
                    db.TicketHistoryEvents.Add(th1);
                    db.SaveChanges();
                }
                else if (user.FirstName + " " + user.LastName != db.Users.Find(ticket.AssignedToId).FirstName + " " + db.Users.Find(ticket.AssignedToId).LastName)
                {
                    TicketHistoryEvent th1 = new TicketHistoryEvent
                    {
                        TicketId    = ticket.Id,
                        Property    = "Assigned To",
                        NewValue    = user.FirstName + " " + user.LastName,
                        OldValue    = db.Users.Find(ticket.AssignedToId).FirstName + " " + db.Users.Find(ticket.AssignedToId).LastName,
                        ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                        UserId      = User.Identity.GetUserId()
                    };
                    db.TicketHistoryEvents.Add(th1);
                    db.SaveChanges();

                    //email notification
                    try
                    {
                        var from  = "ReSolve Bugtracker<*****@*****.**>";
                        var to    = db.Users.Find(ticket.AssignedToId).Email;
                        var email = new MailMessage(from, to)
                        {
                            Subject    = "You were unassigned",
                            Body       = $"You were unassigned from ticket: <strong>{ticket.Title}</strong> by {currentUser.FirstName} {currentUser.LastName}.",
                            IsBodyHtml = true
                        };
                        var svc = new PersonalEmail();
                        await svc.SendAsync(email);

                        ViewBag.Message = "Email has been sent";
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        await Task.FromResult(0);
                    }
                }

                ticket.AssignedToId = model.UserId;
                db.Entry(ticket).Property("AssignedToId").IsModified = true;
                db.SaveChanges();
                int ticketStatusId = db.TicketStatuses.FirstOrDefault(ts => ts.Name == "Assigned").Id;
                ticket.TicketStatusId = ticketStatusId;
                db.Entry(ticket).Property("TicketStatusId").IsModified = true;
                db.SaveChanges();

                //email notification
                try
                {
                    var from  = "ReSolve Bugtracker<*****@*****.**>";
                    var to    = user.Email;
                    var email = new MailMessage(from, to)
                    {
                        Subject    = "New Ticket Assignment",
                        Body       = $"You were assigned to ticket: <strong>{ticket.Title}</strong> by {currentUser.FirstName} {currentUser.LastName}. Ticket Details can be found <a href='http://kferretti-bugtracker.azurewebsites.net/Tickets/Details/{ticket.Id}'>here</a>.",
                        IsBodyHtml = true
                    };
                    var svc = new PersonalEmail();
                    await svc.SendAsync(email);

                    ViewBag.Message = "Email has been sent";
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    await Task.FromResult(0);
                }
            }

            return(RedirectToAction("Details", new { id = ticket.Id }));
        }
Beispiel #4
0
        public async Task <ActionResult> Edit([Bind(Include = "Id,Title,Description,Created,ProjectId,TicketTypeId,TicketPriorityId,SubmitterId,AssignedToId,TicketStatusId")] Ticket ticket)
        {
            if (ModelState.IsValid)
            {
                Ticket oldTicket   = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticket.Id);
                var    currentUser = db.Users.Find(User.Identity.GetUserId());
                ticket.Updated         = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now));
                db.Entry(ticket).State = EntityState.Modified;
                db.SaveChanges();

                if (oldTicket.Title != ticket.Title)
                {
                    TicketHistoryEvent th = new TicketHistoryEvent
                    {
                        TicketId    = ticket.Id,
                        Property    = "Title",
                        NewValue    = ticket.Title,
                        OldValue    = oldTicket.Title,
                        ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                        UserId      = User.Identity.GetUserId()
                    };
                    db.TicketHistoryEvents.Add(th);
                    db.SaveChanges();

                    //make sure ticket is assigned
                    if (!(ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A"))
                    {
                        //email notification
                        try
                        {
                            var from  = "ReSolve Bugtracker<*****@*****.**>";
                            var to    = db.Users.Find(ticket.AssignedToId).Email;
                            var email = new MailMessage(from, to)
                            {
                                Subject    = "Title of your ticket has been edited",
                                Body       = $"A ticket you are assigned to (<strong>{ticket.Title}</strong>) has had its title changed from \"{oldTicket.Title}\" to \"{ticket.Title}\" by {currentUser.FirstName} {currentUser.LastName}. Ticket Details can be found <a href='http://kferretti-bugtracker.azurewebsites.net/Tickets/Details/{ticket.Id}'>here</a>.",
                                IsBodyHtml = true
                            };
                            var svc = new PersonalEmail();
                            await svc.SendAsync(email);

                            ViewBag.Message = "Email has been sent";
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                            await Task.FromResult(0);
                        }
                    }
                }
                if (oldTicket.Description != ticket.Description)
                {
                    TicketHistoryEvent th = new TicketHistoryEvent
                    {
                        TicketId    = ticket.Id,
                        Property    = "Description",
                        NewValue    = ticket.Description,
                        OldValue    = oldTicket.Description,
                        ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                        UserId      = User.Identity.GetUserId()
                    };
                    db.TicketHistoryEvents.Add(th);
                    db.SaveChanges();

                    //make sure ticket is assigned
                    if (!(ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A"))
                    {
                        //email notification
                        try
                        {
                            var from  = "ReSolve Bugtracker<*****@*****.**>";
                            var to    = db.Users.Find(ticket.AssignedToId).Email;
                            var email = new MailMessage(from, to)
                            {
                                Subject    = "Description of your ticket has been edited",
                                Body       = $"A ticket you are assigned to (<strong>{ticket.Title}</strong>) has had its description changed from \"{oldTicket.Description}\" to \"{ticket.Description}\" by {currentUser.FirstName} {currentUser.LastName}. Ticket Details can be found <a href='http://kferretti-bugtracker.azurewebsites.net/Tickets/Details/{ticket.Id}'>here</a>.",
                                IsBodyHtml = true
                            };
                            var svc = new PersonalEmail();
                            await svc.SendAsync(email);

                            ViewBag.Message = "Email has been sent";
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                            await Task.FromResult(0);
                        }
                    }
                }
                if (oldTicket.TicketPriorityId != ticket.TicketPriorityId)
                {
                    TicketHistoryEvent th = new TicketHistoryEvent
                    {
                        TicketId    = ticket.Id,
                        Property    = "Priority",
                        NewValue    = db.TicketPriorities.Find(ticket.TicketPriorityId).Name,
                        OldValue    = db.TicketPriorities.Find(oldTicket.TicketPriorityId).Name,
                        ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)), //DateTimeOffset.Now.ToLocalTime(),
                        UserId      = User.Identity.GetUserId()
                    };
                    db.TicketHistoryEvents.Add(th);
                    db.SaveChanges();

                    //make sure ticket is assigned
                    if (!(ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A"))
                    {
                        //email notification
                        try
                        {
                            var from  = "ReSolve Bugtracker<*****@*****.**>";
                            var to    = db.Users.Find(ticket.AssignedToId).Email;
                            var email = new MailMessage(from, to)
                            {
                                Subject    = "Priority of your ticket has been edited",
                                Body       = $"A ticket you are assigned to (<strong>{ticket.Title}</strong>) has had its priority changed from \"{db.TicketPriorities.Find(oldTicket.TicketPriorityId).Name}\" to \"{db.TicketPriorities.Find(ticket.TicketPriorityId).Name}\" by {currentUser.FirstName} {currentUser.LastName}. Ticket Details can be found <a href='http://kferretti-bugtracker.azurewebsites.net/Tickets/Details/{ticket.Id}'>here</a>.",
                                IsBodyHtml = true
                            };
                            var svc = new PersonalEmail();
                            await svc.SendAsync(email);

                            ViewBag.Message = "Email has been sent";
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                            await Task.FromResult(0);
                        }
                    }
                }

                if (oldTicket.TicketTypeId != ticket.TicketTypeId)
                {
                    TicketHistoryEvent th = new TicketHistoryEvent
                    {
                        TicketId    = ticket.Id,
                        Property    = "Type",
                        NewValue    = db.TicketTypes.Find(ticket.TicketTypeId).Name,
                        OldValue    = db.TicketTypes.Find(oldTicket.TicketTypeId).Name,
                        ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                        UserId      = User.Identity.GetUserId()
                    };
                    db.TicketHistoryEvents.Add(th);
                    db.SaveChanges();

                    //make sure ticket is assigned
                    if (!(ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A"))
                    {
                        //email notification
                        try
                        {
                            var from  = "ReSolve Bugtracker<*****@*****.**>";
                            var to    = db.Users.Find(ticket.AssignedToId).Email;
                            var email = new MailMessage(from, to)
                            {
                                Subject    = "Type of your ticket has been edited",
                                Body       = $"A ticket you are assigned to (<strong>{ticket.Title}</strong>) has had its type changed from \"{db.TicketTypes.Find(oldTicket.TicketTypeId).Name}\" to \"{db.TicketTypes.Find(ticket.TicketTypeId).Name}\" by {currentUser.FirstName} {currentUser.LastName}. Ticket Details can be found <a href='http://kferretti-bugtracker.azurewebsites.net/Tickets/Details/{ticket.Id}'>here</a>.",
                                IsBodyHtml = true
                            };
                            var svc = new PersonalEmail();
                            await svc.SendAsync(email);

                            ViewBag.Message = "Email has been sent";
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                            await Task.FromResult(0);
                        }
                    }
                }

                return(RedirectToAction("Details", new { id = ticket.Id }));
            }

            ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId);
            ViewBag.TicketTypeId     = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId);
            return(View(ticket));
        }
Beispiel #5
0
        public ActionResult Create([Bind(Include = "Id,Description,ProjectId,TicketTypeId,TicketPriorityId")] Ticket ticket)
        {
            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            if (ModelState.IsValid && user.Projects.Select(p => p.Id).Contains(ticket.ProjectId))
            {
                ticket.SubmitterId = userId;
                ticket.Created     = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now));
                int ticketStatusId = db.TicketStatuses.FirstOrDefault(ts => ts.Name == "Unassigned").Id;
                ticket.TicketStatusId = ticketStatusId;
                db.Tickets.Add(ticket);
                db.SaveChanges();
                //makes the id look more official and systematic
                string paddedId = ticket.Id.ToString("0000");
                ticket.Title = "BI:" + paddedId;
                db.Entry(ticket).Property("Title").IsModified = true;
                db.SaveChanges();
                Ticket savedTicket = db.Tickets.Find(ticket.Id);

                //Ticket history creation
                TicketHistoryEvent th1 = new TicketHistoryEvent
                {
                    TicketId    = savedTicket.Id,
                    Property    = "ID#",
                    NewValue    = savedTicket.Title,
                    ChangedDate = savedTicket.Created,
                    UserId      = savedTicket.SubmitterId
                };
                TicketHistoryEvent th2 = new TicketHistoryEvent
                {
                    TicketId    = savedTicket.Id,
                    Property    = "Description",
                    NewValue    = savedTicket.Description,
                    ChangedDate = savedTicket.Created,
                    UserId      = savedTicket.SubmitterId
                };
                TicketHistoryEvent th3 = new TicketHistoryEvent
                {
                    TicketId    = savedTicket.Id,
                    Property    = "Priority",
                    NewValue    = db.TicketPriorities.Find(savedTicket.TicketPriorityId).Name,
                    ChangedDate = savedTicket.Created,
                    UserId      = savedTicket.SubmitterId
                };
                TicketHistoryEvent th4 = new TicketHistoryEvent
                {
                    TicketId    = savedTicket.Id,
                    Property    = "Status",
                    NewValue    = db.TicketStatuses.Find(savedTicket.TicketStatusId).Name,
                    ChangedDate = savedTicket.Created,
                    UserId      = savedTicket.SubmitterId
                };
                db.TicketHistoryEvents.Add(th1);
                db.SaveChanges();
                db.TicketHistoryEvents.Add(th2);
                db.SaveChanges();
                db.TicketHistoryEvents.Add(th3);
                db.SaveChanges();
                db.TicketHistoryEvents.Add(th4);
                db.SaveChanges();
                return(RedirectToAction("Details", new { id = ticket.Id }));
            }
            ViewBag.ProjectKnown     = false;
            ViewBag.AssignedToId     = new SelectList(db.Users, "Id", "FirstName", ticket.AssignedToId);
            ViewBag.ProjectId        = new SelectList(user.Projects, "Id", "Name", ticket.ProjectId);
            ViewBag.SubmitterId      = new SelectList(db.Users, "Id", "FirstName", ticket.SubmitterId);
            ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId);
            ViewBag.TicketTypeId     = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId);
            return(View(ticket));
        }
Beispiel #6
0
        public ActionResult TicketAssign([Bind(Include = "Tickets,UserId")] UsersViewModel model)
        {
            var user = db.Users.Find(model.UserId);

            if (ModelState.IsValid && model.Tickets != null && model.Tickets.Any())
            {
                foreach (var ticket in model.Tickets)
                {
                    if (URManager.UserIsInRole(model.UserId, "Developer"))
                    {
                        Ticket Ticket = db.Tickets.Find(Convert.ToInt32(ticket));
                        if (Ticket.AssignedToId != model.UserId)
                        {
                            if ("Assigned" != db.TicketStatuses.Find(Ticket.TicketStatusId).Name)
                            {
                                TicketHistoryEvent th = new TicketHistoryEvent
                                {
                                    TicketId    = Ticket.Id,
                                    Property    = "Status",
                                    NewValue    = "Assigned",
                                    OldValue    = db.TicketStatuses.Find(Ticket.TicketStatusId).Name,
                                    ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                                    UserId      = User.Identity.GetUserId()
                                };
                                db.TicketHistoryEvents.Add(th);
                                db.SaveChanges();
                            }

                            if (Ticket.AssignedToId == null || Ticket.AssignedToId == "" || Ticket.AssignedToId == "N/A")
                            {
                                TicketHistoryEvent th1 = new TicketHistoryEvent
                                {
                                    TicketId    = Ticket.Id,
                                    Property    = "Assigned To",
                                    NewValue    = user.FirstName + " " + user.LastName,
                                    OldValue    = "N/A",
                                    ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                                    UserId      = User.Identity.GetUserId()
                                };
                                db.TicketHistoryEvents.Add(th1);
                                db.SaveChanges();
                            }

                            else if (user.FirstName + " " + user.LastName != db.Users.Find(Ticket.AssignedToId).FirstName + " " + db.Users.Find(Ticket.AssignedToId).LastName)
                            {
                                TicketHistoryEvent th1 = new TicketHistoryEvent
                                {
                                    TicketId    = Ticket.Id,
                                    Property    = "Assigned To",
                                    NewValue    = user.FirstName + " " + user.LastName,
                                    OldValue    = db.Users.Find(Ticket.AssignedToId).FirstName + " " + db.Users.Find(Ticket.AssignedToId).LastName,
                                    ChangedDate = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)),
                                    UserId      = User.Identity.GetUserId()
                                };
                                db.TicketHistoryEvents.Add(th1);
                                db.SaveChanges();
                            }

                            Ticket.AssignedToId = model.UserId;
                            db.Entry(Ticket).Property("AssignedToId").IsModified = true;
                            db.SaveChanges();
                            int ticketStatusId = db.TicketStatuses.FirstOrDefault(ts => ts.Name == "Assigned").Id;
                            Ticket.TicketStatusId = ticketStatusId;
                            db.Entry(Ticket).Property("TicketStatusId").IsModified = true;
                            db.SaveChanges();
                        }
                    }
                }

                ViewBag.Message = "Project Assignments have been saved";

                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("Index"));
        }