Пример #1
0
        public IAsyncEnumerable <PermissionIdentityViewModel> AsyncEnumerateIdentities()
        {
            PermissionsLogMessages.PermissionIdentitiesEnumerating(_logger);

            var result = _context
                         .Set <PermissionEntity>()
                         .Select(PermissionIdentityViewModel.FromEntityProjection)
                         .AsAsyncEnumerable();

            RepositoryLogMessages.QueryBuilt(_logger);
            return(result);
        }
Пример #2
0
        public IAsyncEnumerable <int> AsyncEnumeratePermissionIds(
            Optional <IReadOnlyCollection <int> > permissionIds = default)
        {
            PermissionsLogMessages.PermissionIdsEnumerating(_logger, permissionIds);

            var query = _context.Set <PermissionEntity>()
                        .AsQueryable();

            RepositoryLogMessages.QueryInitializing(_logger, query);

            if (permissionIds.IsSpecified)
            {
                RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(permissionIds));
                query = query.Where(x => permissionIds.Value.Contains(x.PermissionId));
            }

            RepositoryLogMessages.QueryTerminating(_logger);
            var result = query
                         .Select(x => x.PermissionId)
                         .AsAsyncEnumerable();

            RepositoryLogMessages.QueryBuilt(_logger);
            return(result);
        }