Browse Source

IUnitOfWork and IDatabaseApi revised.

pull/81/head
Halil İbrahim Kalkan 10 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; DbContext = dbContext;
} }
public Task SaveChangesAsync() public Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
return DbContext.SaveChangesAsync();
}
public Task SaveChangesAsync(CancellationToken cancellationToken)
{ {
return DbContext.SaveChangesAsync(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; _parent = parent;
} }
public Task SaveChangesAsync() public Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
return _parent.SaveChangesAsync();
}
public Task SaveChangesAsync(CancellationToken cancellationToken)
{ {
return _parent.SaveChangesAsync(cancellationToken); return _parent.SaveChangesAsync(cancellationToken);
} }
public Task CompleteAsync() public Task CompleteAsync(CancellationToken cancellationToken = default(CancellationToken))
{ {
return Task.CompletedTask; return Task.CompletedTask;
} }

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

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

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

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

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

@ -24,15 +24,7 @@ namespace Volo.Abp.Uow
//TODO: Remove itself from IUnitOfWorkManager //TODO: Remove itself from IUnitOfWorkManager
} }
public async Task SaveChangesAsync() public async Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
foreach (var databaseApi in _databaseApis.Values)
{
await databaseApi.SaveChangesAsync();
}
}
public async Task SaveChangesAsync(CancellationToken cancellationToken)
{ {
foreach (var databaseApi in _databaseApis.Values) 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) foreach (var databaseApi in _databaseApis.Values)
{ {
await databaseApi.CommitAsync(); await databaseApi.SaveChangesAsync(cancellationToken);
} }
} }

Loading…
Cancel
Save