public IAsyncEnumerable <ulong> AsyncEnumerateIds( Optional <long> roleId = default) { UsersLogMessages.UserIdsEnumerating(_logger, roleId); var query = _context.Set <UserEntity>() .AsQueryable(); RepositoryLogMessages.QueryInitializing(_logger, query); if (roleId.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(roleId)); query = query.Where(u => u.RoleMappings.Any(urm => (urm.DeletionId == null) && (urm.RoleId == roleId.Value))); } RepositoryLogMessages.QueryTerminating(_logger); var result = query .Select(u => u.Id) .AsAsyncEnumerable(); RepositoryLogMessages.QueryBuilt(_logger); return(result); }
public IAsyncEnumerable <UserRoleMappingIdentityViewModel> AsyncEnumerateRoleMappingIdentities( ulong userId, Optional <bool> isDeleted = default) { UsersLogMessages.UserRoleMappingIdentitiesEnumerating(_logger, userId, isDeleted); var query = _context.Set <UserRoleMappingEntity>() .AsQueryable() .Where(x => x.UserId == userId); RepositoryLogMessages.QueryInitializing(_logger, query); if (isDeleted.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(isDeleted)); query = isDeleted.Value ? query.Where(x => x.DeletionId != null) : query.Where(x => x.DeletionId == null); } RepositoryLogMessages.QueryTerminating(_logger); var result = query .Select(UserRoleMappingIdentityViewModel.FromEntityProjection) .AsAsyncEnumerable(); RepositoryLogMessages.QueryBuilt(_logger); return(result); }
public IAsyncEnumerable <AuthenticationTicketIdentityViewModel> AsyncEnumerateIdentities( Optional <bool> isDeleted = default) { AuthenticationLogMessages.IdentitiesEnumerating(_logger, isDeleted); var query = _context.Set <AuthenticationTicketEntity>() .AsQueryable(); RepositoryLogMessages.QueryInitializing(_logger, query); if (isDeleted.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(isDeleted)); query = isDeleted.Value ? query.Where(x => x.DeletionId != null) : query.Where(x => x.DeletionId == null); } RepositoryLogMessages.QueryTerminating(_logger); var result = query .Select(AuthenticationTicketIdentityViewModel.FromEntityProjection) .AsAsyncEnumerable(); RepositoryLogMessages.QueryBuilt(_logger); return(result); }
public IAsyncEnumerable <CharacterGuildIdentityViewModel> AsyncEnumerateIdentities( Optional <bool> isDeleted = default) { CharactersLogMessages.CharacterGuildIdentitiesEnumerating(_logger, isDeleted); var query = _context.Set <CharacterGuildVersionEntity>() .AsQueryable() .Where(x => x.NextVersionId == null); RepositoryLogMessages.QueryInitializing(_logger, query); if (isDeleted.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(isDeleted)); query = query.Where(x => x.IsDeleted == isDeleted.Value); } RepositoryLogMessages.QueryTerminating(_logger); var result = query .Select(CharacterGuildIdentityViewModel.FromVersionEntityProjection) .AsAsyncEnumerable(); RepositoryLogMessages.QueryBuilt(_logger); return(result); }
public Task <bool> AnyVersionsAsync( Optional <long> guildId = default, Optional <IEnumerable <long> > excludedGuildIds = default, Optional <string> name = default, Optional <bool> isDeleted = default, Optional <bool> isLatestVersion = default, CancellationToken cancellationToken = default) { CharactersLogMessages.CharacterGuildVersionsEnumeratingAny(_logger, guildId, excludedGuildIds, name, isDeleted, isLatestVersion); var query = _context.Set <CharacterGuildVersionEntity>() .AsQueryable(); RepositoryLogMessages.QueryInitializing(_logger, query); if (guildId.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(guildId)); query = query.Where(x => x.GuildId == guildId.Value); } if (excludedGuildIds.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(excludedGuildIds)); query = query.Where(x => !excludedGuildIds.Value.Contains(x.GuildId)); } if (name.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(name)); query = query.Where(x => x.Name == name.Value); } if (isDeleted.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(isDeleted)); query = query.Where(x => x.IsDeleted == isDeleted.Value); } if (isLatestVersion.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(isLatestVersion)); query = isLatestVersion.Value ? query.Where(x => x.NextVersionId == null) : query.Where(x => x.NextVersionId != null); } RepositoryLogMessages.QueryTerminating(_logger); var result = query.AnyAsync(cancellationToken); RepositoryLogMessages.QueryExecuting(_logger); return(result); }
public Task <bool> AnyDefinitionsAsync( Optional <int> level = default, Optional <int> experienceThreshold = default, Optional <bool> isDeleted = default, CancellationToken cancellationToken = default) { CharactersLogMessages.CharacterLevelDefinitionsEnumeratingAny(_logger, level, experienceThreshold, isDeleted); var query = _context.Set <CharacterLevelDefinitionVersionEntity>() .AsQueryable() .Where(x => x.NextVersionId == null); RepositoryLogMessages.QueryInitializing(_logger, query); if (level.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(level)); query = query.Where(cld => cld.Level == level.Value); } if (experienceThreshold.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(experienceThreshold)); query = query.Where(cld => cld.ExperienceThreshold == experienceThreshold.Value); } if (isDeleted.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(isDeleted)); query = query.Where(cld => cld.IsDeleted == isDeleted.Value); } RepositoryLogMessages.QueryTerminating(_logger); var result = query.AnyAsync(cancellationToken); RepositoryLogMessages.QueryExecuting(_logger); return(result); }
public Task <bool> AnyAsync( Optional <ulong> userId = default, CancellationToken cancellationToken = default) { UsersLogMessages.UsersEnumeratingAny(_logger, userId); var query = _context.Set <UserEntity>() .AsQueryable(); RepositoryLogMessages.QueryInitializing(_logger, query); if (userId.IsSpecified) { RepositoryLogMessages.QueryAddingWhereClause(_logger, nameof(userId)); query = query.Where(x => x.Id == userId.Value); } RepositoryLogMessages.QueryTerminating(_logger); var result = query.AnyAsync(cancellationToken); RepositoryLogMessages.QueryExecuting(_logger); return(result); }
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); }