public ActionResult ChangeRole(UsersRolesViewModel newUserProperties) { _userManager.AddToRole(newUserProperties.UserId, newUserProperties.NewRole); if (newUserProperties.RoleName != null) { _userManager.RemoveFromRole(newUserProperties.UserId, newUserProperties.RoleName); } List <UsersRolesViewModel> list = new List <UsersRolesViewModel>(); var users = db.Users.OrderBy(m => m.FirstName).ToList(); foreach (User user in users) { var userItem = new UsersRolesViewModel() { User = user, RoleName = _userManager.GetRoles(user.Id).FirstOrDefault() }; list.Add(userItem); } return(View("ManageUserRoles", list)); }
public ActionResult ManageUserRoles(string userEmail) { List <UsersRolesViewModel> list = new List <UsersRolesViewModel>(); IEnumerable <User> users; if (String.IsNullOrEmpty(userEmail)) { users = db.Users.OrderBy(m => m.FirstName).ToList(); } else { users = db.Users.Where(m => m.Email.Equals(userEmail, StringComparison.CurrentCultureIgnoreCase)) .OrderBy(m => m.FirstName).ToList(); } foreach (User user in users) { var userItem = new UsersRolesViewModel() { User = user, RoleName = _userManager.GetRoles(user.Id).FirstOrDefault() }; list.Add(userItem); } return(View(list.ToList())); }
public ActionResult Edit([Bind(Include = "RolesId,UserId")] UsersRolesViewModel pUrserRole) { if (ModelState.IsValid) { var userEnity = (from user in context.Users where user.Id == pUrserRole.UserId select user).FirstOrDefault(); userEnity.Roles.Clear(); var rolesEnity = context.Roles.Where(x => pUrserRole.RolesId.Contains(x.Id)).ToList(); foreach (var item in rolesEnity) { Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole userRole = new Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole(); userRole.RoleId = item.Id; userRole.UserId = userEnity.Id; userEnity.Roles.Add(userRole); } context.Entry(userEnity).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); return(RedirectToAction("Index")); } return(View(pUrserRole)); }
//======================================================== public async Task <IActionResult> EditUser(string id) { if (id != null && id != "") { var user = await usersAndRolesService.GetUserById(id); var userRole = await usersAndRolesService.GetUserRoleByUser(user); var userFirstRole = await usersAndRolesService.GetRoleByUserRole(userRole); var roles = await usersAndRolesService.GetRoles(); var list = new SelectList(roles, "Id", "Name"); ViewBag.Roles = list; var model = new UsersRolesViewModel { User = user, Role = userFirstRole, UserRole = userRole, UserId = id, FirstRoleId = userFirstRole.Id }; if (model != null) { return(View(model)); } } return(NotFound()); }
public async Task <IActionResult> EditUsersInRole(string roleId) { ViewBag.roleId = roleId; var role = await roleManager.FindByIdAsync(roleId); if (role == null) { ViewBag.ErrorMessage = $"Role with Id = {roleId} cannot be found"; return(View("Error")); } var model = new List <UsersRolesViewModel>(); foreach (var user in await userManager.Users.ToListAsync()) { var userRoleViewModel = new UsersRolesViewModel { UserId = user.Id, UserName = user.UserName, }; if (await userManager.IsInRoleAsync(user, role.Name)) { userRoleViewModel.IsSelected = true; } else { userRoleViewModel.IsSelected = false; } model.Add(userRoleViewModel); } return(View(model)); }
public async Task <IActionResult> ManageUserRoles(string userId) { ViewBag.userId = userId; var user = await userManager.FindByIdAsync(userId); if (user == null) { return(RedirectToAction("NotFound")); } var model = new List <UsersRolesViewModel>(); foreach (var role in roleManager.Roles.ToList()) { var userRoles = new UsersRolesViewModel() { RoleId = role.Id, RoleName = role.Name }; if (await userManager.IsInRoleAsync(user, role.Name)) { userRoles.IsSelected = true; } else { userRoles.IsSelected = false; } model.Add(userRoles); } return(View(model)); }
public ActionResult Index() { List <UsersRolesViewModel> userList = new List <UsersRolesViewModel>(); foreach (var user in db.Users.ToList()) { UsersRolesViewModel uservm = new UsersRolesViewModel(); uservm.User = user; uservm.Roles = helper.ListUserRoles(user.Id); uservm.Projectsb = pHelper.ListProjectsForAUser(user.Id); uservm.Tickets = new List <Ticket>(); foreach (var project in uservm.Projectsb) { foreach (var ticket in project.Tickets) { if (ticket.AssignedToUserId == user.Id) { uservm.Tickets.Add(ticket); } } } userList.Add(uservm); } return(View(userList)); }
public ActionResult Index() { List <UsersRolesViewModel> userList = new List <UsersRolesViewModel>(); //foreach (var user in db.Users.ToList()) foreach (var user in (helper.UsersInRole("BugtrackerUser"))) { var currentRoles = helper.ListUserRoles(user.Id); if (!currentRoles.Contains("Submitter")) { helper.AddUserToRole(user.Id, "Submitter"); db.SaveChanges(); } UsersRolesViewModel uservm = new UsersRolesViewModel(); uservm.User = user; uservm.Roles = helper.ListUserRoles(user.Id); uservm.Projectsb = pHelper.ListProjectsForAUser(user.Id); uservm.Tickets = new List <Ticket>(); foreach (var project in uservm.Projectsb) { foreach (var ticket in project.Tickets) { if (ticket.AssignedToUserId == user.Id) { uservm.Tickets.Add(ticket); } } } userList.Add(uservm); } return(View(userList)); }
public ActionResult Details([Bind(Include = "Roles")] UsersRolesViewModel model, string Id) { if (ModelState.IsValid) { var currentRoles = helper.ListUserRoles(Id); foreach (var ExistingRoles in currentRoles) { if (ExistingRoles != "Submitter") { helper.RemoveUserFromRole(Id, ExistingRoles); db.SaveChanges(); } } if (model.Roles.Any()) { foreach (var role in model.Roles) { if (role != "Submitter") { helper.AddUserToRole(Id, role); db.SaveChanges(); } } } return(RedirectToAction("Index")); } UsersRolesViewModel userRoleViewModel = new UsersRolesViewModel(); userRoleViewModel.User = db.Users.Find(Id); userRoleViewModel.Roles = helper.ListUserRoles(Id); ViewBag.Roles = new MultiSelectList(db.Roles, "Name", "Name"); return(View(model)); }
public ActionResult SidebarPartial2() { var currentuser = db.Users.Find(User.Identity.GetUserId()); if (currentuser != null) { ProjectAssignHelper ph = new ProjectAssignHelper(); UserRolesHelper uh = new UserRolesHelper(db); UsersRolesViewModel vm = new UsersRolesViewModel(); var userId = User.Identity.GetUserId(); var user = db.Users.Find(userId); vm.User = db.Users.Find(User.Identity.GetUserId()); vm.Roles = uh.ListUserRoles(vm.User.Id); if (uh.IsUserInRole(userId, "Admin") || uh.IsUserInRole(userId, "Administrator") || uh.IsUserInRole(userId, "Project Manager1") || uh.IsUserInRole(userId, "Project Manager2") || uh.IsUserInRole(userId, "Project Manager3")) { vm.Projectsb = db.Projects.ToList(); } else { vm.Projectsb = ph.ListProjectsForAUser(userId); } return(PartialView("~/Areas/BugTracker/Views/Projects/_SidebarPartial2.cshtml", vm)); } return(RedirectToAction("Index", "Home")); }
// GET: Dashboard/Roles public ActionResult Index() { UsersRolesViewModel UsersWithRoles = new UsersRolesViewModel(); var allUsers = db.Users.ToList(); var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); List <ApplicationUser> Adminstrators = new List <ApplicationUser>(); List <ApplicationUser> Managers = new List <ApplicationUser>(); List <ApplicationUser> Members = new List <ApplicationUser>(); foreach (var user in allUsers) { if (userManager.IsInRole(user.Id, "Admin")) { Adminstrators.Add(user); } else if (userManager.IsInRole(user.Id, "Manager")) { Managers.Add(user); } else if (userManager.IsInRole(user.Id, "Member")) { Members.Add(user); } } UsersWithRoles.Adminstrators = Adminstrators; UsersWithRoles.Managers = Managers; UsersWithRoles.Members = Members; return(View(UsersWithRoles)); }
//GET public ActionResult Details(string Id) { ProjectAssignHelper ph = new ProjectAssignHelper(); UserRolesHelper UH = new UserRolesHelper(db); var userId = User.Identity.GetUserId(); var user = db.Users.Find(userId); if (UH.IsUserInRole(userId, "Admin") || UH.IsUserInRole(userId, "Administrator") || userId == Id) { if (Id != null) { UsersRolesViewModel userRoleViewModel2 = new UsersRolesViewModel(); userRoleViewModel2.User = db.Users.Find(Id); userRoleViewModel2.Roles = helper.ListUserRoles(Id); userRoleViewModel2.Tickets = db.Tickets.ToList(); userRoleViewModel2.Projectsb = db.Projects.ToList(); //userRoleViewModel.Projects = helper. var SubmitterlessRolesList = db.Roles.Where(r => r.Name != "Submitter"); ViewBag.Roles = new MultiSelectList(SubmitterlessRolesList, "Name", "Name"); //ViewBag.Roles = new MultiSelectList(db.Topics, "Id", "TopicName"); return(View(userRoleViewModel2)); } else { UsersRolesViewModel userRoleViewModel = new UsersRolesViewModel(); userRoleViewModel.User = db.Users.Find(userId); userRoleViewModel.Roles = helper.ListUserRoles(userId); userRoleViewModel.Tickets = db.Tickets.ToList(); List <Project> UserProjects = new List <Project>(); foreach (var project in db.Projects) { if (ph.IsUserOnAProject(userId, project.Id)) { UserProjects.Add(project); } } userRoleViewModel.Projectsb = UserProjects; //userRoleViewModel.Projects = helper. var SubmitterlessRolesList = db.Roles.Where(r => r.Name != "Submitter"); ViewBag.Roles = new MultiSelectList(SubmitterlessRolesList, "Name", "Name"); //ViewBag.Roles = new MultiSelectList(db.Topics, "Id", "TopicName"); return(View(userRoleViewModel)); } } var Temporary = "You cannot view Details of this User. Please revisit your role assignment. You may view your own user details, but other user's details can only be viewed by Administrators. "; TempData["message"] = Temporary; return(RedirectToAction("Index", "Users")); }
public async Task <IActionResult> RemoveUsersFromRoles(UsersRolesViewModel model) { ModelState.Clear(); // as post request automaticly adds model errors on call if (model.UserIds != null && model.UserIds.Any()) { var userSelects = await GetSelectUsers(model.UserIds); ViewBag.UserSelectItems = userSelects; model.UserStrings = userSelects.Select(us => us.Text).ToArray(); } return(View(model)); }
public async Task <ActionResult> UserRoles(string id) { var user = await UserManager.FindByIdAsync(id); var UserRoleIds = user.Roles.Select(s => s.RoleId).ToList(); UsersRolesViewModel model = new UsersRolesViewModel(); model.UserId = id; model.Roles = RoleManager.Roles.Where(s => !UserRoleIds.Contains(s.Id)).ToList(); model.UserRoles = RoleManager.Roles.Where(s => UserRoleIds.Contains(s.Id)).ToList(); return(PartialView("_UserRoles", model)); }
public async Task <IActionResult> EditUser(UsersRolesViewModel model) { var user = await usersAndRolesService.GetUserById(model.UserId); var userRole = await usersAndRolesService.GetUserRoleByUser(user); var oldRole = await usersAndRolesService.GetRoleByUserRole(userRole); var newRole = await usersAndRolesService.GetRoleByUserRoleId(model.Role.Id); await _userManager.RemoveFromRoleAsync(user, oldRole.Name); await _userManager.AddToRoleAsync(user, newRole.Name); return(RedirectToAction("Users")); }
public ActionResult List(string userid) { var appUser = UserManager.Users.Include(u => u.Roles) .FirstOrDefault(u => u.Id == userid); //var appRoles = _context.Roles.ToList(); var appRoles = RoleManager.Roles.ToList(); var list = UsersRolesViewModel.CreateUsersRolesList(appUser, appRoles); ViewBag.UserName = appUser.UserName; //RestoreViewBagMessage(); return(View(@"~\MODULE_AccessControl\Views\Admin\Users\UsersRoles.cshtml", list)); }
public ActionResult ChangeRole(string id) { UsersRolesViewModel viewModel = new UsersRolesViewModel() { User = db.Users.Where(m => m.Id.Equals(id, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(), UserId = id, RoleName = _userManager.GetRoles(id).FirstOrDefault(), NewRole = _userManager.GetRoles(id).FirstOrDefault() }; var roles = db.Roles.Select(m => new SelectListItem { Value = m.Name, Text = m.Name }); ViewBag.Roles = roles; return(View(viewModel)); }
public async Task <IActionResult> RemoveUsersFromRolesSubmit(UsersRolesViewModel model) { if (!ModelState.IsValid) { ViewBag.UserSelectItems = await GetSelectUsers(model.UserIds); return(View(nameof(RemoveUsersFromRoles), model)); } await _userService.RemoveUsersFromRolesAsync(model.UserIds, model.RoleIds); if (model.ReturnUrl != "") { TempData.Put("Toast", new Toast(ToastType.Success, stringLocalizer["Successfully removed"])); return(RedirectToAction("Index", model.ReturnUrl.Split('/')[1])); } else { TempData.Put("Toast", new Toast(ToastType.Success, stringLocalizer["Successfully removed"])); return(RedirectToAction("Index", "User")); } }
public ActionResult Index(string searchString) { var userRoleViewModel = new UsersRolesViewModel(); var userList = getUsers(); userRoleViewModel.Users = userList; if (!string.IsNullOrEmpty(searchString)) { foreach (var user in userList.ToList()) { //if user doesn't match search string, remove them from user list to show if (!user.FirstName.Contains(searchString) && !user.LastName.Contains(searchString) && !user.UserName.Contains(searchString) && !user.Roles.Contains(searchString)) { Debug.WriteLine("--- search string: " + searchString + "Does not relate to anything in this record. Removing..."); Debug.WriteLine("--- Removing: " + user.FirstName + ", " + user.LastName); userRoleViewModel.Users.Remove(user); } else { Debug.WriteLine(searchString + " Was contained in: "); Debug.WriteLine("First name: " + user.FirstName.Contains(searchString)); Debug.WriteLine("last name: " + user.LastName.Contains(searchString)); Debug.WriteLine("Username: "******"Role: " + user.Roles.Contains(searchString)); } } Debug.WriteLine("After loop, userList count is " + userList.Count); } userRoleViewModel.Roles = getRoles(); return(View(userRoleViewModel)); }
public ActionResult LayoutPartial() { var currentuser = db.Users.Find(User.Identity.GetUserId()); if (currentuser != null) { UserRolesHelper uh = new UserRolesHelper(db); UsersRolesViewModel vm = new UsersRolesViewModel(); vm.User = db.Users.Find(User.Identity.GetUserId()); vm.Roles = uh.ListUserRoles(vm.User.Id); UserRolesHelper helper = new UserRolesHelper(db); ProjectAssignHelper ph = new ProjectAssignHelper(); var userId = User.Identity.GetUserId(); var user = db.Users.Find(userId); var userroleAdmin = helper.IsUserInRole(userId, "Admin") || helper.IsUserInRole(userId, "Administrator"); var userroleDeveloper = helper.IsUserInRole(userId, "Developer1") || helper.IsUserInRole(userId, "Developer2") || helper.IsUserInRole(userId, "Developer3") || helper.IsUserInRole(userId, "Developer4"); var userroleProjectManager = helper.IsUserInRole(userId, "Project Manager1") || helper.IsUserInRole(userId, "Project Manager2") || helper.IsUserInRole(userId, "Project Manager3"); var userroleSubmitter = helper.IsUserInRole(userId, "Submitter"); List <Project> DeveloperProjects = new List <Project>(); List <ApplicationUser> Developers = helper.UsersInRole("Developer1").Concat(helper.UsersInRole("Developer2")).Concat(helper.UsersInRole("Developer3")).Concat(helper.UsersInRole("Developer4")).ToList(); List <Project> userprojects = new List <Project>(); foreach (var project in db.Projects) { if (ph.IsUserOnAProject(userId, project.Id)) { userprojects.Add(project); } } ViewBag.projectcount = userprojects.Count(); List <Ticket> usertickets = new List <Ticket>(); if (helper.IsUserInRole(userId, "Admin") || helper.IsUserInRole(userId, "Administrator")) { foreach (var ticket in db.Tickets) { usertickets.Add(ticket); } ViewBag.ticketcount = usertickets.Count(); } else if (userroleProjectManager) { List <Project> UserProjects = new List <Project>(); foreach (var x in db.Projects) { if (ph.IsUserOnAProject(userId, x.Id)) { UserProjects.Add(x); } } foreach (var project in UserProjects) { foreach (var ticket in project.Tickets) { usertickets.Add(ticket); } } var nonarchivedtickets = usertickets.Where(t => t.TicketStatus.Name != "Archived"); var urgenttickets = nonarchivedtickets.Where(t => t.TicketPriority.Name == "Urgent"); ViewBag.ticketcount = nonarchivedtickets.Count(); ViewBag.urgentticketcount = urgenttickets.Count(); } else if (userroleDeveloper) { List <Project> UserProjects = new List <Project>(); foreach (var x in db.Projects) { if (ph.IsUserOnAProject(userId, x.Id)) { UserProjects.Add(x); } } foreach (var project in UserProjects) { foreach (var ticket in project.Tickets) { usertickets.Add(ticket); } } var nonarchivedtickets = usertickets.Where(t => t.TicketStatus.Name != "Archived"); ViewBag.ticketcount = nonarchivedtickets.Count(); } else if (userroleSubmitter) { var tickets = db.Tickets.Where(t => t.SubmitterUserId == userId).ToList(); var nonarchivedtickets = tickets.Where(t => t.TicketStatus.Name != "Archived"); ViewBag.ticketcount = nonarchivedtickets.Count(); } return(PartialView("~/Areas/BugTracker/Views/Shared/_LayoutPartial.cshtml", vm)); } return(RedirectToAction("Index", "Home", new { area = "BugTracker" })); }