Browse Source

Use async methods in the blob repo.

pull/6809/head
Halil İbrahim Kalkan 6 years ago
parent
commit
4d4121a313
  1. 7
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/EfCoreDatabaseBlobContainerRepository.cs
  2. 13
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/EfCoreDatabaseBlobRepository.cs
  3. 30
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/MongoDbDatabaseBlobRepository.cs

7
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/EfCoreDatabaseBlobContainerRepository.cs

@ -10,14 +10,15 @@ namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore
{ {
public class EfCoreDatabaseBlobContainerRepository : EfCoreRepository<IBlobStoringDbContext, DatabaseBlobContainer, Guid>, IDatabaseBlobContainerRepository public class EfCoreDatabaseBlobContainerRepository : EfCoreRepository<IBlobStoringDbContext, DatabaseBlobContainer, Guid>, IDatabaseBlobContainerRepository
{ {
public EfCoreDatabaseBlobContainerRepository(IDbContextProvider<IBlobStoringDbContext> dbContextProvider) public EfCoreDatabaseBlobContainerRepository(IDbContextProvider<IBlobStoringDbContext> dbContextProvider)
: base(dbContextProvider) : base(dbContextProvider)
{ {
} }
public virtual async Task<DatabaseBlobContainer> FindAsync(string name, CancellationToken cancellationToken = default) public virtual async Task<DatabaseBlobContainer> FindAsync(string name, CancellationToken cancellationToken = default)
{ {
return await DbSet.FirstOrDefaultAsync(x => x.Name == name, GetCancellationToken(cancellationToken)); return await (await GetDbSetAsync())
.FirstOrDefaultAsync(x => x.Name == name, GetCancellationToken(cancellationToken));
} }
} }
} }

13
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/EfCoreDatabaseBlobRepository.cs

@ -20,7 +20,8 @@ namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore
string name, string name,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
return await DbSet.FirstOrDefaultAsync( return await (await GetDbSetAsync())
.FirstOrDefaultAsync(
x => x.ContainerId == containerId && x.Name == name, x => x.ContainerId == containerId && x.Name == name,
GetCancellationToken(cancellationToken) GetCancellationToken(cancellationToken)
); );
@ -31,9 +32,11 @@ namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore
string name, string name,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
return await DbSet.AnyAsync( return await (await GetDbSetAsync())
x => x.ContainerId == containerId && x.Name == name, .AnyAsync(
GetCancellationToken(cancellationToken)); x => x.ContainerId == containerId && x.Name == name,
GetCancellationToken(cancellationToken)
);
} }
public virtual async Task<bool> DeleteAsync( public virtual async Task<bool> DeleteAsync(
@ -54,4 +57,4 @@ namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore
return true; return true;
} }
} }
} }

30
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/MongoDbDatabaseBlobRepository.cs

@ -15,35 +15,41 @@ namespace Volo.Abp.BlobStoring.Database.MongoDB
public virtual async Task<DatabaseBlob> FindAsync(Guid containerId, string name, CancellationToken cancellationToken = default) public virtual async Task<DatabaseBlob> FindAsync(Guid containerId, string name, CancellationToken cancellationToken = default)
{ {
return await GetMongoQueryable().FirstOrDefaultAsync( cancellationToken = GetCancellationToken(cancellationToken);
x => x.ContainerId == containerId &&
x.Name == name, return await (await GetMongoQueryableAsync(cancellationToken))
GetCancellationToken(cancellationToken)); .FirstOrDefaultAsync(
x => x.ContainerId == containerId && x.Name == name,
cancellationToken
);
} }
public virtual async Task<bool> ExistsAsync(Guid containerId, string name, CancellationToken cancellationToken = default) public virtual async Task<bool> ExistsAsync(Guid containerId, string name, CancellationToken cancellationToken = default)
{ {
return await GetMongoQueryable().AnyAsync( cancellationToken = GetCancellationToken(cancellationToken);
x => x.ContainerId == containerId &&
x.Name == name, return await (await GetMongoQueryableAsync(cancellationToken))
GetCancellationToken(cancellationToken)); .AnyAsync(
x => x.ContainerId == containerId && x.Name == name,
cancellationToken
);
} }
public virtual async Task<bool> DeleteAsync( public virtual async Task<bool> DeleteAsync(
Guid containerId, Guid containerId,
string name, string name,
bool autoSave = false, bool autoSave = false,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
var blob = await FindAsync(containerId, name, cancellationToken); var blob = await FindAsync(containerId, name, cancellationToken);
if (blob == null) if (blob == null)
{ {
return false; return false;
} }
await base.DeleteAsync(blob, autoSave, cancellationToken: GetCancellationToken(cancellationToken)); await base.DeleteAsync(blob, autoSave, cancellationToken);
return true; return true;
} }
} }
} }

Loading…
Cancel
Save