public ActionResult Edit(int?id, bool flag) { int ticketId = 0; if (id != null) { ticketId = (int)id; } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Ticket ticket = db.Tickets.Find(id); if (ticket == null) { return(HttpNotFound()); } if (User.IsInRole("Admin") || validator.DevTicketAssigned(ticketId) || validator.PMProjectTicket(ticketId) || validator.TicketOwner(ticketId)) { var ticketOwner = db.Users.FirstOrDefault(u => u.Id == ticket.OwnerUserId); var project = db.Projects.FirstOrDefault(p => p.Id == ticket.ProjectId); if (User.IsInRole("Admin") || validator.PMProjectTicket(ticketId)) { //var devList = rolesHelper.UsersInRole("Developer"); var role = db.Roles.FirstOrDefault(r => r.Name == "Developer"); var devList = ticket.Project.ProjectUsers.Where(u => u.Roles.Any(r => r.RoleId == role.Id)).ToList(); ViewBag.AssignedToUserId = new SelectList(devList, "Id", "DisplayName", ticket.AssignedToUserId); } else { var assignedUser = db.Users.FirstOrDefault(u => u.Id == ticket.AssignedToUserId); var assignedUserName = assignedUser.DisplayName; ViewBag.AssignedToUserDisplayName = assignedUserName; } ViewBag.OwnerUser = ticketOwner.DisplayName; ViewBag.ProjectName = project.Name; ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId); ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId); ViewBag.UserIndexFlag = flag; return(View(ticket)); } return(RedirectToAction("UserIndex")); }
public ActionResult Edit(int?id, bool flag) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var commentId = (int)id; TicketComment ticketComment = db.TicketComments.Find(id); if (User.IsInRole("Admin") || validator.PMProjectTicket(ticketComment.Ticket.Id) || validator.CommentOwner(commentId)) { if (ticketComment == null) { return(HttpNotFound()); } ViewBag.UserIndexFlag = flag; ViewBag.UserDisplayName = db.Users.FirstOrDefault(u => u.Id == ticketComment.UserId).DisplayName; ViewBag.TicketTitle = db.Tickets.FirstOrDefault(t => t.Id == ticketComment.TicketId).Title; return(View(ticketComment)); } return(RedirectToAction("UserIndex", "Tickets")); }