|
|
|
@ -47,7 +47,11 @@ namespace Volo.Abp.AspNetCore.Mvc.Uow |
|
|
|
if (unitOfWorkManager.TryBeginReserved(UnitOfWork.UnitOfWorkReservationName, options)) |
|
|
|
{ |
|
|
|
var result = await next(); |
|
|
|
if (!Succeed(result)) |
|
|
|
if (Succeed(result)) |
|
|
|
{ |
|
|
|
await SaveChangesAsync(context, unitOfWorkManager); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
await RollbackAsync(context, unitOfWorkManager); |
|
|
|
} |
|
|
|
@ -94,6 +98,15 @@ namespace Volo.Abp.AspNetCore.Mvc.Uow |
|
|
|
await currentUow.RollbackAsync(context.HttpContext.RequestAborted); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private async Task SaveChangesAsync(PageHandlerExecutingContext context, IUnitOfWorkManager unitOfWorkManager) |
|
|
|
{ |
|
|
|
var currentUow = unitOfWorkManager.Current; |
|
|
|
if (currentUow != null) |
|
|
|
{ |
|
|
|
await currentUow.SaveChangesAsync(context.HttpContext.RequestAborted); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private static bool Succeed(PageHandlerExecutedContext result) |
|
|
|
{ |
|
|
|
|