|
|
|
|
@ -31,29 +31,38 @@ namespace Volo.Abp.Uow
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_isDisposed = true;
|
|
|
|
|
|
|
|
|
|
//TODO: Remove itself from IUnitOfWorkManager
|
|
|
|
|
_ambientUnitOfWork.SetUnitOfWork(null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
|
|
|
|
|
public void SaveChanges()
|
|
|
|
|
{
|
|
|
|
|
foreach (var databaseApi in _databaseApis.Values)
|
|
|
|
|
{
|
|
|
|
|
await databaseApi.SaveChangesAsync(cancellationToken);
|
|
|
|
|
(databaseApi as ISupportsSavingChanges)?.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task CompleteAsync(CancellationToken cancellationToken = default(CancellationToken))
|
|
|
|
|
public async Task SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
|
|
|
|
|
{
|
|
|
|
|
//TODO: We need a transaction management system.
|
|
|
|
|
|
|
|
|
|
foreach (var databaseApi in _databaseApis.Values)
|
|
|
|
|
{
|
|
|
|
|
await databaseApi.SaveChangesAsync(cancellationToken);
|
|
|
|
|
if (databaseApi is ISupportsSavingChanges)
|
|
|
|
|
{
|
|
|
|
|
await (databaseApi as ISupportsSavingChanges).SaveChangesAsync(cancellationToken);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Complete()
|
|
|
|
|
{
|
|
|
|
|
SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task CompleteAsync(CancellationToken cancellationToken = default(CancellationToken))
|
|
|
|
|
{
|
|
|
|
|
await SaveChangesAsync(cancellationToken);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IDatabaseApi FindDatabaseApi(string id)
|
|
|
|
|
{
|
|
|
|
|
return _databaseApis.GetOrDefault(id);
|
|
|
|
|
|