Пример #1
0
        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));
        }
Пример #2
0
        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));
        }