//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); }
// 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)); }
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)); }
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))); }
// 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())); }
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)); }
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")); }
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)); }
public ICollection <ApplicationUser> GetProjectManager() { var pm = Users.Where(u => roleHelper.ListUserRoles(u.Id).FirstOrDefault() == "Project Manager").ToList(); return(pm); }