public ActionResult AssignProjectsToUser(string UserId) { string myUser; if (UserId == null || UserId == "") { myUser = User.Identity.GetUserId(); } else { myUser = UserId; } var userList = new List <ApplicationUser>(); var helperProject = new UserProjectHelper(); var ListOfProjects = db.Projects.OrderBy(p => p.Name).ToList().Select(pp => pp.Name.ToString()).ToList(); ProjectToUser projectToUser = new ProjectToUser(); projectToUser.availableProjects = new MultiSelectList(ListOfProjects); projectToUser.assignedProjects = new MultiSelectList(helperProject.ListProjectsAssignedToUser(myUser).Select(n => n.Name)); projectToUser.notAssignedProjects = new MultiSelectList(helperProject.ListProjectsNotAssignedToUser(myUser).Select(n => n.Name)); projectToUser.UserId = myUser; // projectToUser.UserName = (db.Users.Find(myUser).Email == null) ? "NoEmail" : db.Users.Find(myUser).Email; projectToUser.UserName = "******"; return(View("AssignProjectsToUser", projectToUser)); }
public ActionResult ListProjectsAndUsers() { var userList = new List <ApplicationUser>(); var helperProject = new UserProjectHelper(); var helperRole = new UserRolesHelper(); //var selectListOfRoles = db.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); // same as above but just string array than selected list array // var ListOfUsers = db.Users.OrderBy(r => r.LastName).ToList().Select(rr => rr.LastName.ToString()).ToList(); var ListOfProjects = db.Projects.OrderBy(p => p.Name).ToList().Select(pp => pp.Name.ToString()).ToList(); // var listOfRoles = UserDb.Roles.OrderBy(r => r.Name).ToList().Select(rr => rr.Name.ToString()); foreach (var user in db.Users) { var currentUser = new ProjectViewModels(); // Result converts Task<Ilist> to IList var ListOfProjectsForUser = helperProject.ListProjectsAssignedToUser(user.Id); currentUser.Projects = ListOfProjectsForUser; currentUser.UserId = user.Id; currentUser.UserName = user.FirstName + " " + user.LastName; currentUser.Role = helperRole.ListUserRoles(user.Id); projectInfo.Add(currentUser); } return(View("ListProjectsAndUsers", projectInfo)); }
public async Task <PaginatedList <ActiveUserProjectsPreviewResponse> > GetActiveUserProjectsAsync( string userName, PageInfo page) { var result = new PaginatedList <ActiveUserProjectsPreviewResponse>(); var userId = await _userRepository.GetUserIdByNameAsync(userName); if (userId != "") { page = PageVerificator.AdjustPage(page); var userProjects = await _userProjectRepository.GetActiveUserProjectsAsync(userId, page); var projectsCount = await _userProjectRepository.GetActiveUserProjectsCountAsync(userId); result = UserProjectHelper.AssignActiveUserProjectValues(userProjects, page, projectsCount, _mapper); } else { _logger.LogInformation("GetActiveUserProjectsAsync user was not found. ", userName); } return(result); }
public ActionResult RemoveUsersFromProject(int pid, [Bind(Include = "usersOnProject,selectedUsersOnProject")] UserToProject model, string removeButton) { var helperProject = new UserProjectHelper(); foreach (var p in model.selectedUsersOnProject) { string userId = db.Users.FirstOrDefault(n => n.Id == p).Id; helperProject.RemoveUserFromProject(userId, pid); } return(RedirectToAction("ListProjectsAndUsers")); }
public ActionResult AssignUsersToProject(int pid, [Bind(Include = "usersNotOnProjects,selectedUsersNotOnProjects")] UserToProject model, string addButton) { var userList = new List <ApplicationUser>(); var helperProject = new UserProjectHelper(); var ListOfProjects = db.Projects.OrderBy(p => p.Name).ToList().Select(pp => pp.Name.ToString()).ToList(); foreach (var p in model.selectedUsersNotOnProjects) { string userId = db.Users.FirstOrDefault(n => n.Id == p).Id; helperProject.AddUserToProject(userId, pid); } return(RedirectToAction("ListProjectsAndUsers")); }
public ActionResult RemoveProjectsFromUser(string UserId, [Bind(Include = "assignedProjects,selectedAssignedProjects")] ProjectToUser model, string removeButton) { var userList = new List <ApplicationUser>(); var helperProject = new UserProjectHelper(); var ListOfProjects = db.Projects.OrderBy(p => p.Name).ToList().Select(pp => pp.Name.ToString()).ToList(); foreach (var p in model.selectedAssignedProjects) { int pId = db.Projects.FirstOrDefault(n => n.Name == p).Id; helperProject.RemoveUserFromProject(UserId, pId); } return(RedirectToAction("ListProjectsAndUsers")); }
public ActionResult AssignUsersToProject(int pid) { var userList = new List <ApplicationUser>(); var helperProject = new UserProjectHelper(); var ListOfProjects = db.Projects.OrderBy(p => p.Name).ToList().Select(pp => pp.Name.ToString()).ToList(); UserToProject userToProject = new UserToProject(); userToProject.ProjectId = pid; userToProject.availableProjects = new MultiSelectList(ListOfProjects); userToProject.usersOnProject = new MultiSelectList(helperProject.UsersOnProject(pid).OrderBy(u => u.DisplayName), "Id", "DisplayName", null); var usersNotOnProject = helperProject.UsersNotOnProject(pid).OrderBy(u => u.DisplayName); userToProject.usersNotOnProjects = new MultiSelectList(usersNotOnProject, "Id", "DisplayName", null); return(View("AssignUsersToProject", userToProject)); }
protected override void Seed(Wray_Tracker.Models.ApplicationDbContext context) { #region Create roles var roleManager = new RoleManager <IdentityRole>( new RoleStore <IdentityRole>(context)); if (!context.Roles.Any(r => r.Name == "Admin")) { roleManager.Create(new IdentityRole { Name = "Admin" }); } if (!context.Roles.Any(r => r.Name == "Manager")) { roleManager.Create(new IdentityRole { Name = "Manager" }); } if (!context.Roles.Any(r => r.Name == "Developer")) { roleManager.Create(new IdentityRole { Name = "Developer" }); } if (!context.Roles.Any(r => r.Name == "Submitter")) { roleManager.Create(new IdentityRole { Name = "Submitter" }); } #endregion #region Add Users and Assign Roles var userStore = new UserStore <ApplicationUser>(context); var userManager = new UserManager <ApplicationUser>(userStore); var demoPassword = WebConfigurationManager.AppSettings["DemoPassword"]; // Assigning Roles of the Admin and Manager if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Ashton", LastName = "Wray", DisplayName = "Ashton" }; // This line creates the User in the DB userManager.Create(user, "M@urice1"); // This line attaches the Role of Admin to this specific user userManager.AddToRoles(user.Id, "Admin"); } // Same thing goes for the Manager if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Jason", LastName = "Twichell", DisplayName = "Prof" }; // This line creates the User in the DB userManager.Create(user, "Abc&123!"); // This line attaches the Role of Manager to this specific user userManager.AddToRoles(user.Id, "Manager"); } // And for now since I don't know if this right // This will be for the Developer if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Andrew", LastName = "Russell", DisplayName = "Stache" }; // This line creates the User in the DB userManager.Create(user, "Abc&123!"); // This line attaches the Role of Developer to this specific user userManager.AddToRoles(user.Id, "Developer"); } // Also for the Submitter if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Ashton", LastName = "Wray", DisplayName = "Ash" }; // This line creates the User in the DB userManager.Create(user, "M@urice1"); // This line attaches the Role of Submitter to this specific user userManager.AddToRoles(user.Id, "Submitter"); } // Demo Users if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Bob", LastName = "Tester", DisplayName = "Bob", EmailConfirmed = true }; // This line creates the User in the DB userManager.Create(user, demoPassword); // This line attaches the Role of Submitter to this specific user userManager.AddToRoles(user.Id, "Admin"); } if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Dave", LastName = "Tester", DisplayName = "Dave", EmailConfirmed = true }; // This line creates the User in the DB userManager.Create(user, demoPassword); // This line attaches the Role of Submitter to this specific user userManager.AddToRoles(user.Id, "Manager"); } if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Mary", LastName = "Tester", DisplayName = "Mary", EmailConfirmed = true }; // This line creates the User in the DB userManager.Create(user, demoPassword); // This line attaches the Role of Submitter to this specific user userManager.AddToRoles(user.Id, "Developer"); } if (!context.Users.Any(u => u.Email == "*****@*****.**")) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Jamie", LastName = "Tester", DisplayName = "Jamie", EmailConfirmed = true }; // This line creates the User in the DB userManager.Create(user, demoPassword); // This line attaches the Role of Submitter to this specific user userManager.AddToRoles(user.Id, "Submitter"); } #endregion #region Load up Ticket Types context.TicketTypes.AddOrUpdate( t => t.Name, new TicketType { Name = "Defect" }, new TicketType { Name = "Software" }, new TicketType { Name = "Hardware" }, new TicketType { Name = "UI" }, new TicketType { Name = "Other" } ); #endregion #region Load up Ticket Priorities context.TicketPriorities.AddOrUpdate( t => t.Name, new TicketPriority { Name = "Immediate" }, new TicketPriority { Name = "High" }, new TicketPriority { Name = "Medium" }, new TicketPriority { Name = "Low" }, new TicketPriority { Name = "On Hold" } ); #endregion #region Load up Ticket Status context.TicketStatus.AddOrUpdate( t => t.Name, new TicketStatus { Name = "New" }, new TicketStatus { Name = "Assigned" }, new TicketStatus { Name = "Resolved" }, new TicketStatus { Name = "Reopened" }, new TicketStatus { Name = "Archived" } ); #endregion #region Seed a Demo Project context.Projects.AddOrUpdate( t => t.Name, new Project { Name = "Seeded Project", Description = "Seeded project to make sure to always have a Project in place ", Created = DateTime.Now }); context.SaveChanges(); #endregion #region Seed a Demo Ticket // Store the newly created Project in a variable in case we need properties from it var seededProjectId = context.Projects.FirstOrDefault(p => p.Name == "Seeded Project").Id; // I have made the decision that this Seeded Ticket will be a Type of 'Defect' var seededTicketTypeId = context.TicketTypes.FirstOrDefault(t => t.Name == "Defect").Id; // I have decided that this weeded Ticket will be an Immediate priority var seededTicketPriorityId = context.TicketPriorities.FirstOrDefault(t => t.Name == "Immediate").Id; var seededTicketStatusId = context.TicketStatus.FirstOrDefault(t => t.Name == "New").Id; var seededSubmitterId = context.Users.FirstOrDefault(u => u.Email == "*****@*****.**").Id; // I have to associate this submitter with the project var projHelper = new UserProjectHelper(); projHelper.AddUserToProject(seededSubmitterId, seededProjectId); context.Tickets.AddOrUpdate( t => t.Title, new Ticket() { Title = "Seeded Ticket 1", Description = "A well formed description of some defect", Created = DateTime.Now, ProjectId = seededProjectId, TicketTypeId = seededTicketTypeId, TicketPriorityId = seededTicketPriorityId, TicketStatusId = seededTicketStatusId, SubmitterId = seededSubmitterId }); #endregion // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. }