/// <summary> /// Method to get the roles that security permissions can be possibly assigned to /// </summary> /// <param name="request"></param> /// <returns></returns> public SecurityAccessMaintenanceGetRolesResponse GetRoles(SecurityAccessMaintenanceGetRolesRequest request) { var allRoles = _repository.GetAll <SecurityRole>() .Where(p => p.Active == true) .OrderBy(p => p.Name) .ToList(); var selectedRoles = new List <SecurityRole>(); if (request != null && request.SelectedRoleIds != null) { selectedRoles = allRoles.Where(p => request.SelectedRoleIds.Contains(p.SecurityRoleId)) .OrderBy(p => p.Name) .ToList(); } // //Get all the roles not yet selected // var availableRoles = allRoles.Except(selectedRoles).ToList(); return(new SecurityAccessMaintenanceGetRolesResponse() { AvailableRoles = availableRoles, SelectedRoles = selectedRoles, IsSuccessful = true }); }
/// <summary> /// Populate the role selection drop down lists for picking the roles to view permissions for /// </summary> /// <param name="model"></param> protected void PopulateDropDownLists(GetEffectivePermissionsForSecurableViewModel model) { var request = new SecurityAccessMaintenanceGetRolesRequest() { SelectedRoleIds = model.SelectedRoleIds }; var getRolesResponse = _service.GetRoles(request); model.AvailableRoles = getRolesResponse.AvailableRoles; model.SelectedRoles = getRolesResponse.SelectedRoles; }