Browse Source

IUnitOfWork and IDatabaseApi revised.

pull/81/head
Halil İbrahim Kalkan 9 years ago
parent
commit
3d742d9cb1
  1. 14
      src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Uow/EntityFrameworkCore/DbContextDatabaseApi.cs
  2. 9
      src/Volo.Abp/Volo/Abp/Uow/ChildUnitOfWork.cs
  3. 6
      src/Volo.Abp/Volo/Abp/Uow/IDatabaseApi.cs
  4. 6
      src/Volo.Abp/Volo/Abp/Uow/IUnitOfWork.cs
  5. 16
      src/Volo.Abp/Volo/Abp/Uow/UnitOfWork.cs

14
src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Uow/EntityFrameworkCore/DbContextDatabaseApi.cs

@ -13,20 +13,10 @@ namespace Volo.Abp.Uow.EntityFrameworkCore
{
DbContext = dbContext;
}
public Task SaveChangesAsync()
{
return DbContext.SaveChangesAsync();
}
public Task SaveChangesAsync(CancellationToken cancellationToken)
public Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
return DbContext.SaveChangesAsync(cancellationToken);
}
public Task CommitAsync()
{
return DbContext.SaveChangesAsync();
}
}
}

9
src/Volo.Abp/Volo/Abp/Uow/ChildUnitOfWork.cs

@ -18,17 +18,12 @@ namespace Volo.Abp.Uow
_parent = parent;
}
public Task SaveChangesAsync()
{
return _parent.SaveChangesAsync();
}
public Task SaveChangesAsync(CancellationToken cancellationToken)
public Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
return _parent.SaveChangesAsync(cancellationToken);
}
public Task CompleteAsync()
public Task CompleteAsync(CancellationToken cancellationToken = default(CancellationToken))
{
return Task.CompletedTask;
}

6
src/Volo.Abp/Volo/Abp/Uow/IDatabaseApi.cs

@ -5,10 +5,6 @@ namespace Volo.Abp.Uow
{
public interface IDatabaseApi
{
Task SaveChangesAsync();
Task SaveChangesAsync(CancellationToken cancellationToken);
Task CommitAsync(); //TODO: Add CancellationToken to CommitAsync?
Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken));
}
}

6
src/Volo.Abp/Volo/Abp/Uow/IUnitOfWork.cs

@ -19,10 +19,8 @@ namespace Volo.Abp.Uow
IDatabaseApi AddDatabaseApi(string id, IDatabaseApi databaseApi);
Task SaveChangesAsync();
Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken));
Task SaveChangesAsync(CancellationToken cancellationToken);
Task CompleteAsync();
Task CompleteAsync(CancellationToken cancellationToken = default(CancellationToken));
}
}

16
src/Volo.Abp/Volo/Abp/Uow/UnitOfWork.cs

@ -24,15 +24,7 @@ namespace Volo.Abp.Uow
//TODO: Remove itself from IUnitOfWorkManager
}
public async Task SaveChangesAsync()
{
foreach (var databaseApi in _databaseApis.Values)
{
await databaseApi.SaveChangesAsync();
}
}
public async Task SaveChangesAsync(CancellationToken cancellationToken)
public async Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
foreach (var databaseApi in _databaseApis.Values)
{
@ -40,11 +32,13 @@ namespace Volo.Abp.Uow
}
}
public async Task CompleteAsync()
public async Task CompleteAsync(CancellationToken cancellationToken = default(CancellationToken))
{
//TODO: We need a transaction management system.
foreach (var databaseApi in _databaseApis.Values)
{
await databaseApi.CommitAsync();
await databaseApi.SaveChangesAsync(cancellationToken);
}
}

Loading…
Cancel
Save