예제 #1
0
        // 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));
        }