Exemplo n.º 1
0
        //public bool IsUserOnTicket(string userId, int ticketId)
        //{
        //    var ticket = db.Tickets.Find(ticketId);
        //    var flag = ticket.Users.Any(u => u.Id == userId);
        //    return (flag);
        //}

        public ICollection <Ticket> ListMyTickets()
        {
            var myTickets = new List <Ticket>();
            var userId    = HttpContext.Current.User.Identity.GetUserId();
            var user      = db.Users.Find(userId);
            var myRole    = roleHelper.ListUserRoles(userId).FirstOrDefault();

            switch (myRole)
            {
            case "Admin":
            case "DemoAdmin":
                myTickets.AddRange(db.Tickets);
                break;

            case "Project Manager":
            case "DemoPM":
                //myTickets.AddRange(user.Projects.Where(p => p.IsArchived == false).SelectMany(p => p.Tickets));
                myTickets.AddRange(db.Projects.Where(p => p.ProjectManagerId == userId).SelectMany(p => p.Tickets));
                break;

            case "Developer":
            case "DemoDeveloper":
                myTickets.AddRange(db.Tickets.Where(t => t.IsArchived == false).Where(t => t.DeveloperId == userId));
                break;

            case "Submitter":
            case "DemoSubmitter":
                myTickets.AddRange(db.Tickets.Where(t => t.IsArchived == false).Where(t => t.SubmitterId == userId));
                break;
            }
            return(myTickets);
        }
Exemplo n.º 2
0
        // GET: Admin
        //[Authorize(Roles = "Admin")]
        public ActionResult ManageRoles()
        {
            var viewData = new List <CustomUserData>();
            var users    = db.Users.ToList();

            foreach (var user in users)
            {
                viewData.Add(new CustomUserData
                {
                    RoleName    = rolesHelper.ListUserRoles(user.Id).FirstOrDefault() ?? "UnAssigned",
                    DisplayName = user.DisplayName,
                    FirstName   = user.FirstName,
                    LastName    = user.LastName,
                    Email       = user.Email
                });
            }

            //setup some data that can be used inside the view
            //left panel - listbox in the view
            ViewBag.UserIds = new MultiSelectList(db.Users, "Id", "Email");
            //right panel - dropdown list
            ViewBag.RoleName = new SelectList(db.Roles, "Name", "Name");

            return(View(viewData));
        }
        // GET: Admin
        public ActionResult ManageRoles()
        {
            var viewData = new List <CustomUserData>();
            var users    = db.Users.ToList();

            foreach (var user in users)
            {
                //viewData.Add(new UserRoleData {
                //    FirstName = user.FirstName,
                //    LastName = user.LastName,
                //    Email = user.Email,
                //    RoleName = roleHelper.ListUserRoles(user.Id).FirstOrDefault() ?? "UnAssigned"
                //});

                var newUserData = new CustomUserData();

                newUserData.FirstName = user.FirstName;
                newUserData.LastName  = user.LastName;
                newUserData.Email     = user.Email;
                newUserData.RoleName  = roleHelper.ListUserRoles(user.Id).FirstOrDefault() ?? "UnAssigned";

                viewData.Add(newUserData);
            }

            //Right hand side control: This data will be used to power a Dropdown List in the View
            ViewBag.RoleName = new SelectList(db.Roles, "Name", "Name");

            //Left hand side control: This data will be used to power ListBox in the View
            ViewBag.UserIds = new MultiSelectList(db.Users, "Id", "Email");

            return(View(viewData));
        }
Exemplo n.º 4
0
        public ActionResult Index(DashboardViewModel dashview)
        {
            var allUsers = db.Users.ToList();

            var user = db.Users.Find(User.Identity.GetUserId());

            if (roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Admin")
            {
                dashview.ApplicationUsers = allUsers;
                dashview.UserCount        = allUsers.Count();
                dashview.AllProjects      = db.Projects.ToList();
                dashview.AllTickets       = db.Tickets.ToList();
            }
            else if (roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Project Manager")
            {
                dashview.ApplicationUsers = allUsers;
                dashview.AllProjects      = projHelper.ListUserProjects(user.Id);
                dashview.AllTickets       = projHelper.ListUserProjects(user.Id).SelectMany(p => p.Tickets).ToList();
            }
            else if (roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Developer")
            {
                dashview.AllProjects = projHelper.ListUserProjects(user.Id);
                dashview.AllTickets  = ticketHelper.ListMyTickets();
            }
            else if (roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Submitter")
            {
                dashview.AllProjects = projHelper.ListUserProjects(user.Id);
                dashview.AllTickets  = ticketHelper.ListMyTickets();
            }


            //var dashboardVm = new DashboardViewModel()
            //{



            //    UserCount = allUsers.Count(),
            //    ApplicationUsers = db.Users.ToList(),


            //    HighPriorityTicketCount = allTickets.Where(t => t.TicketPriority.Name == "High").Count(),
            //    NewTicketCount = allTickets.Where(t => t.TicketStatus.Name == "New").Count(),
            //    TotalComments = db.TicketComments.Count(),
            //    AllProjects = Projects.ToList(),
            //    AllTickets = db.Tickets.ToList()



            //};

            //dashboardVm.ProjectVM.ProjectCount = 5;
            //dashboardVm.ProjectVM.AllProjects = db.Projects.ToList();
            //dashboardVm.ProjectVM.AllPMs = roleHelper.UsersInRoles("Project Manager").ToList();



            return(View(dashview));
        }
Exemplo n.º 5
0
        public ActionResult ManageUserRole(string id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            var userRole = roleHelper.ListUserRoles(id).FirstOrDefault();

            ViewBag.RoleName = new SelectList(db.Roles, "Name", "Name", userRole);
            return(View(db.Users.Find(id)));
        }
Exemplo n.º 6
0
        // GET: Projects
        public ActionResult Index()
        {
            var user = db.Users.Find(User.Identity.GetUserId());

            //if (roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Admin" || roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Project Manager")
            //{
            //     return View(db.Projects.ToList())
            //}
            if (roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Developer" || roleHelper.ListUserRoles(user.Id).FirstOrDefault() == "Submitter")
            {
                return(View(projHelper.ListUserProjects(user.Id)));
            }

            return(View(db.Projects.ToList()));
        }
Exemplo n.º 7
0
        public ActionResult ManageProjectAssignments()
        {
            var emptyCustomUserData = new List <CustomUserData>();
            var users = db.Users.ToList();

            //load a multi select of users
            ViewBag.UserIds = new MultiSelectList(db.Users, "Id", "FullName");

            //load a multi select of projects
            ViewBag.ProjectIds = new MultiSelectList(db.Projects, "Id", "Name");

            foreach (var user in users)
            {
                emptyCustomUserData.Add(new CustomUserData
                {
                    ProjectNames = projHelper.ListUserProjects(user.Id).Select(p => p.Name).ToList(),
                    RoleName     = rolesHelper.ListUserRoles(user.Id).FirstOrDefault(),
                    DisplayName  = user.DisplayName,
                    FirstName    = user.FirstName,
                    LastName     = user.LastName,
                    Email        = user.Email
                });
            }

            //load the viewmodel
            return(View(emptyCustomUserData));
        }
Exemplo n.º 8
0
        public ActionResult ManageRoles()
        {
            var viewData = new List <CustomUserData>();
            var users    = db.Users.ToList();

            foreach (var user in users)
            {
                var newUserData = new CustomUserData();

                newUserData.FirstName = user.FirstName;
                newUserData.LastName  = user.LastName;
                newUserData.Email     = user.Email;
                newUserData.RoleName  = roleHelper.ListUserRoles(user.Id).FirstOrDefault() ?? "UnAssigned";

                viewData.Add(newUserData);
            }

            ViewBag.RoleName = new SelectList(db.Roles, "Name", "Name");

            ViewBag.UserIds = new MultiSelectList(db.Users, "Id", "Email");

            return(View(viewData));
        }
        public ActionResult ManageRoles(List <string> userIds, string roleName)
        {
            if (userIds == null)
            {
                return(RedirectToAction("ManageRoles"));
            }

            foreach (var userId in userIds)
            {
                foreach (var role in roleHelper.ListUserRoles(userId).ToList())
                {
                    roleHelper.RemoveUserFromRole(userId, role);
                }

                if (!string.IsNullOrEmpty(roleName))
                {
                    roleHelper.AddUserToRole(userId, roleName);
                }
            }
            return(RedirectToAction("ManageRoles"));
        }
Exemplo n.º 10
0
        public ActionResult Dashboard()
        {
            var userId      = User.Identity.GetUserId();
            var allTickets  = db.Tickets.ToList();
            var myRole      = roleHelper.ListUserRoles(userId).FirstOrDefault();
            var dashboardVM = new DashboardViewModel();

            switch (myRole)
            {
            case "Admin":
                dashboardVM = new DashboardViewModel()
                {
                    TicketCount             = allTickets.Count,
                    HighPriorityTicketCount = allTickets.Where(t => t.TicketPriority.Name == "Immediate").Count(),
                    NewTicketCount          = allTickets.Where(t => t.TicketStatus.Name == "New").Count(),
                    //TotalComments = db.TicketComments.Count(),
                    AllTickets = allTickets
                };
                break;

            case "ProjectManager":
                dashboardVM = new DashboardViewModel()
                {
                    TicketCount             = allTickets.Where(t => t.Project.ProjectManagerId == userId).Count(),
                    HighPriorityTicketCount = allTickets.Where(t => t.TicketPriority.Name == "Immediate").Where(t => t.Project.ProjectManagerId == userId).Count(),
                    NewTicketCount          = allTickets.Where(t => t.Project.ProjectManagerId == userId).Where(t => t.TicketStatus.Name == "New").Count(),
                    //TotalComments = db.TicketComments.Where(c => c.Ticket.Project.ProjectManagerId == userId).Count(),
                    AllTickets = allTickets.Where(t => t.Project.ProjectManagerId == userId).ToList(),
                };

                break;

            case "Developer":
                dashboardVM = new DashboardViewModel()
                {
                    TicketCount             = allTickets.Where(t => t.DeveloperId == userId).Count(),
                    HighPriorityTicketCount = allTickets.Where(t => t.TicketPriority.Name == "Immediate").Where(t => t.DeveloperId == userId).Count(),
                    NewTicketCount          = allTickets.Where(t => t.TicketStatus.Name == "New").Where(t => t.DeveloperId == userId).Count(),
                    //TotalComments = db.TicketComments.Where(t => t.DeveloperId == userId).Count(),
                    AllTickets = allTickets
                };
                break;

            default:
                dashboardVM = new DashboardViewModel()
                {
                    TicketCount             = allTickets.Count,
                    HighPriorityTicketCount = allTickets.Where(t => t.TicketPriority.Name == "Immediate").Count(),
                    NewTicketCount          = allTickets.Where(t => t.TicketStatus.Name == "New").Count(),
                    TotalComments           = db.TicketComments.Count(),
                    AllTickets = allTickets
                };

                break;
            }

            dashboardVM.TicketStatusNew        = db.Tickets.Where(t => t.TicketStatus.Name == "New").Count();
            dashboardVM.TicketStatusAssigned   = db.Tickets.Where(t => t.TicketStatus.Name == "Assigned").Count();
            dashboardVM.TicketStatusCompleted  = db.Tickets.Where(t => t.TicketStatus.Name == "Completed").Count();
            dashboardVM.TicketStatusUnAssigned = db.Tickets.Where(t => t.TicketStatus.Name == "UnAssigned").Count();

            dashboardVM.TicketPriorityImmediate = db.Tickets.Where(t => t.TicketStatus.Name == "Immediate").Count();
            dashboardVM.TicketPriorityHigh      = db.Tickets.Where(t => t.TicketStatus.Name == "High").Count();
            dashboardVM.TicketPriorityMedium    = db.Tickets.Where(t => t.TicketStatus.Name == "Medium").Count();
            dashboardVM.TicketPriorityLow       = db.Tickets.Where(t => t.TicketStatus.Name == "Low").Count();

            dashboardVM.TicketCount = db.Tickets.Count();


            return(View(dashboardVM));
        }
Exemplo n.º 11
0
        public ICollection <ApplicationUser> GetProjectManager()
        {
            var pm = Users.Where(u => roleHelper.ListUserRoles(u.Id).FirstOrDefault() == "Project Manager").ToList();

            return(pm);
        }