// GET: Projects/Details/5 public ActionResult Dashboard(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var thisProject = db.Projects.Find(id); if (thisProject == null) { return(HttpNotFound()); } var project = new ProjectDashboardVM() { Project = thisProject, ProjectManager = projHelp.ListProjectUsersInRole(thisProject.Id, "ProjectManager").FirstOrDefault(), ProjectDevs = projHelp.ListProjectUsersInRole(thisProject.Id, "Developer"), ProjectSubs = projHelp.ListProjectUsersInRole(thisProject.Id, "Submitter"), NotProjectUsers = projHelp.NotProjectUsers(thisProject.Id), UnassignedTickets = ticketHelp.ListUnassignedTickets(thisProject.Id) }; ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name"); ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name"); return(View(project)); }
public ActionResult Dashboard() { var projectsDashboardVM = new ProjectDashboardVM(); projectsDashboardVM.NumberOfProjects = db.Projects.Count(); projectsDashboardVM.NumberOfTickets = db.Tickets.Count(); projectsDashboardVM.NumberOfProjectManagers = rolesHelper.UsersInRole("ProjectManager").Count(); projectsDashboardVM.NumberOfDevelopers = rolesHelper.UsersInRole("Developer").Count(); projectsDashboardVM.NumberOfSubmitters = rolesHelper.UsersInRole("Submitter").Count(); projectsDashboardVM.TicketsAssigned = db.Tickets.Where(t => t.Status.Name == "Assigned").Count(); projectsDashboardVM.TicketsOpen = db.Tickets.Where(t => t.Status.Name == "Open").Count(); projectsDashboardVM.TicketsReopened = db.Tickets.Where(t => t.Status.Name == "Reopened").Count(); projectsDashboardVM.TicketsResolved = db.Tickets.Where(t => t.Status.Name == "Resolved").Count(); projectsDashboardVM.TicketSoftware = db.Tickets.Where(t => t.TicketType.Name == "Software").Count(); projectsDashboardVM.TicketHardware = db.Tickets.Where(t => t.TicketType.Name == "Hardware").Count(); projectsDashboardVM.TicketUi = db.Tickets.Where(t => t.TicketType.Name == "UI").Count(); projectsDashboardVM.TicketDefect = db.Tickets.Where(t => t.TicketType.Name == "Defect").Count(); projectsDashboardVM.TicketOther = db.Tickets.Where(t => t.TicketType.Name == "Other").Count(); projectsDashboardVM.TicketCritical = db.Tickets.Where(t => t.Priority.Name == "Critical").Count(); projectsDashboardVM.TicketHigh = db.Tickets.Where(t => t.Priority.Name == "High").Count(); projectsDashboardVM.TicketLow = db.Tickets.Where(t => t.Priority.Name == "Low").Count(); projectsDashboardVM.TicketOnHold = db.Tickets.Where(t => t.Priority.Name == "On Hold").Count(); projectsDashboardVM.RecentTickets = db.Tickets.OrderByDescending(t => t.Updated).Take(5).ToList(); return(View(projectsDashboardVM)); }