public Result <bool> ExistRolePermissionById(string roleId, int?organizationId) { if (!organizationId.HasValue) { return(new Result <bool>(AuthorizationServiceErrors.InvalidOrganizationIdError())); } var result = rolePermissionRepository.ExistsRolePermission(organizationId.Value, roleId); return(new Result <bool>(result)); }
public Result <OrganizationUserAndRolePermissionsListView> QueryOrganizationUserAndRolePermission(QueryOrganizationUserAndRolePermissionCriteria criteria) { if (string.IsNullOrEmpty(criteria.UserId)) { return(new Result <OrganizationUserAndRolePermissionsListView>(AuthorizationServiceErrors.InvalidExternalUserId())); } if (!criteria.OrganizationId.HasValue) { return(new Result <OrganizationUserAndRolePermissionsListView>(AuthorizationServiceErrors.InvalidOrganizationIdError())); } var userPermissions = organizationUserPermissionRepository.QueryAllOrganizationUserPermission(criteria.OrganizationId.Value, criteria.UserId); var rolePermissions = rolePermissionRepository.QueryRolePermissionByExternalUserId(criteria.OrganizationId.Value, criteria.UserId); var result = new OrganizationUserAndRolePermissionsListView { OrganizationId = criteria.OrganizationId, OrganizationUserId = rolePermissions.FirstOrDefault(rp => rp.OrganizationUserId.HasValue) ?.OrganizationUserId ?? userPermissions.FirstOrDefault(up => up.OrganizationUserId.HasValue) ?.OrganizationUserId, UserId = criteria.UserId, Permissions = new List <string>() }; if (userPermissions != null && userPermissions.Any()) { result.Permissions.AddRange(userPermissions.Select(up => up.Permissions)); } if (rolePermissions != null && rolePermissions.Any()) { result.Permissions.AddRange(rolePermissions.Select(up => up.Permissions)); } return(new Result <OrganizationUserAndRolePermissionsListView>(result)); }