public ActionResult Index(int?id) { if (id != null) { db.TicketNotifications.Find(id).IsRead = true; db.SaveChanges(); } var ticketIndexVM = new TicketIndexVM(); ticketIndexVM.AllTickets = db.Tickets.ToList(); var userId = User.Identity.GetUserId(); if (User.IsInRole("Admin")) { ticketIndexVM.AssignedTickets = db.Tickets.ToList(); return(View(ticketIndexVM)); } if (User.IsInRole("ProjectManager")) { ticketIndexVM.ProjectTickets = db.Projects.Where(p => p.ProjectManagerId == userId).SelectMany(t => t.Tickets).ToList(); return(View(ticketIndexVM)); } if (User.IsInRole("Developer")) { ticketIndexVM.AssignedTickets = db.Tickets.Where(t => t.DeveloperId == userId).ToList(); ticketIndexVM.ProjectTickets = db.Users.Find(userId).Projects.SelectMany(t => t.Tickets).ToList(); return(View(ticketIndexVM)); } if (User.IsInRole("Submitter")) { ticketIndexVM.AssignedTickets = db.Tickets.Where(t => t.SubmitterId == userId).ToList(); return(View(ticketIndexVM)); } return(View(ticketIndexVM)); }
// GET: Tickets public ActionResult Index() { TicketIndexVM userView = new TicketIndexVM(); if (User.IsInRole("Admin") || User.IsInRole("ProjectManager")) { userView = new TicketIndexVM() { Tickets = db.Tickets.ToList(), UserTickets = ticketHelper.ListUsersTickets(User.Identity.GetUserId()) }; } else { userView = new TicketIndexVM() { UserTickets = ticketHelper.ListUsersTickets(User.Identity.GetUserId()) }; } return(View(userView)); }
public ActionResult Index() { TicketIndexVM model = new TicketIndexVM(); var tickets = db.Tickets; var myTickets = new List <Ticket>(); var devTickets = new List <Ticket>(); if (User.IsInRole("Admin")) { myTickets = tickets.ToList(); } else if (User.IsInRole("ProjectManager")) { var userId = User.Identity.GetUserId(); var projects = db.Projects.Where(p => p.ProjectManagerId == userId).ToList(); myTickets = projects.SelectMany(p => p.Tickets).ToList(); } else if (User.IsInRole("Developer")) { var userId = User.Identity.GetUserId(); var user = db.Users.Find(userId); var projects = user.Projects.ToList(); myTickets = projects.SelectMany(t => t.Tickets).ToList(); devTickets = db.Tickets.Where(t => t.AssignedToUserId == userId).ToList(); } else if (User.IsInRole("Submitter")) { var userId = User.Identity.GetUserId(); var user = db.Users.Find(userId); myTickets = db.Tickets.Where(t => t.OwnerUserId == userId).ToList(); } model.MyTickets = myTickets; model.AssignedTickets = devTickets; return(View(model)); }