public ActionResult ClosedTickets(int?Id)
        {
            DashboardViewModel model = new DashboardViewModel();
            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            if (User.IsInRole("Admin") || User.IsInRole("ProjectManager") || User.IsInRole("Developer") || User.IsInRole("Submitter"))
            {
                TicketsHelper helper = new TicketsHelper(db);
                model.Tickets = helper.GetUserTickets(userId);
                var ticket = helper.ListTickets(userId).ToList();
                model.ClosedTickets = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Closed").ToList();
                return(View(model.ClosedTickets.ToList()));
            }
            return(View());
        }
示例#2
0
        //GET: Home/Dashboard/
        public ActionResult Dashboard(int?Id, int?projectId)
        {
            DashboardViewModel model = new DashboardViewModel();
            //get user Id
            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            //filter list of projects according to user role
            if (User.IsInRole("Admin") || User.IsInRole("ProjectManager") || User.IsInRole("Developer") || User.IsInRole("Submitter"))
            {
                //list this user's projects
                ProjectsHelper phelper = new ProjectsHelper(db);
                var            project = phelper.ListProjects(userId).ToList();
                model.Projects = user.Projects.OrderByDescending(p => p.Created).ToList();
                //list this user's tickets
                TicketsHelper helper = new TicketsHelper(db);
                model.Tickets = helper.GetUserTickets(userId);
                var ticket = helper.ListTickets(userId).ToList();
                model.OpenTickets    = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Open").ToList();
                model.PendingTickets = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Pending").ToList();
                model.ClosedTickets  = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Closed").ToList();
            }
            return(View(model));
        }