public async Task <IActionResult> Index() { var hasPermission = await _accessManager.HasPermission(User.Identity.Name, _adminSubsystemName); if (hasPermission) { var users = _userDataService.GetAllUsers(); var roles = _userDataService.GetAllRoles(); var userViewModel = users.Select(u => new UserViewModel() { Id = u.Id, Email = u.Email, Name = $"{u.LastName} {u.Name} {u.Patronymic}", Roles = string.Join(", ", _userDataService.GetUserRoles(u.Id).Result), Accesses = string.Join(", ", _accessManager.GetAccessibleSubsystems(u.Id).Result) }); var roleViewModel = roles.Select(r => new RoleViewModel() { Name = r, AccessibleSubsystems = string.Join(", ", _accessManager.GetAccessibleSubsystemsByRole(r).Result) }); var adminViewModel = new AdminViewModel() { RoleViewModels = roleViewModel, UserViewModels = userViewModel }; return(View(adminViewModel)); } return(Forbid(CookieAuthenticationDefaults.AuthenticationScheme)); }
public async Task <IActionResult> UpdateRole(string name) { var hasPermission = await _accessManager.HasPermission(User.Identity.Name, _adminSubsystem); if (hasPermission) { var roleEntity = await _userData.FindRole(name); var accesses = await _accessManager.GetAccessibleSubsystemsByRole(name); var subsystemAccesses = _accessManager .GetAllSubsystems() .Select(s => new Option() { Name = s, IsOptionSelected = accesses.Contains(s) }) .ToList(); var viewModel = new PostRoleViewModel() { Name = roleEntity.Name, OldName = roleEntity.Name, SubsystemAccesses = subsystemAccesses }; return(View(viewModel)); } return(Forbid(CookieAuthenticationDefaults.AuthenticationScheme)); }
public async Task <IActionResult> Index(string userSearch = "", string roleSearch = "", string positionSearch = "") { var hasPermission = await _accessManager.HasPermission(User.Identity.Name, _adminSubsystemName); if (hasPermission) { var users = _userDataService.GetAllUsers(); var roles = _userDataService.GetAllRoles(); var positions = _positionService.GetAll(); userSearch ??= ""; roleSearch ??= ""; positionSearch ??= ""; var userViewModel = users .Select(u => new UserViewModel() { Id = u.Id, Email = u.Email, Name = $"{u.LastName} {u.Name} {u.Patronymic}", Roles = string.Join(", ", _userDataService.GetUserRoles(u.Id).Result), Accesses = string.Join(", ", _accessManager.GetAccessibleSubsystems(u.Id).Result) }) .Where(u => u.Name.Contains(userSearch, StringComparison.OrdinalIgnoreCase) || u.Email.Contains(userSearch, StringComparison.OrdinalIgnoreCase)); var roleViewModel = roles .Select(r => new RoleViewModel() { Name = r, AccessibleSubsystems = string.Join(", ", _accessManager.GetAccessibleSubsystemsByRole(r).Result) }) .Where(r => r.Name.Contains(roleSearch, StringComparison.OrdinalIgnoreCase)); var positionViewModel = positions .Select(p => new PositionViewModel() { Id = p.Id, Name = p.Name }) .Where(p => p.Name.Contains(positionSearch, StringComparison.OrdinalIgnoreCase)); var adminViewModel = new AdminViewModel() { RoleViewModels = roleViewModel, UserViewModels = userViewModel, PositionViewModels = positionViewModel, UserSearch = userSearch, PositionSearch = positionSearch, RoleSearch = roleSearch }; return(View(adminViewModel)); } return(Forbid(CookieAuthenticationDefaults.AuthenticationScheme)); }