|
@@ -1,4 +1,5 @@
|
|
-namespace OASystem.API.Middlewares
|
|
+
|
|
|
|
+namespace OASystem.API.Middlewares
|
|
{
|
|
{
|
|
|
|
|
|
|
|
|
|
@@ -23,8 +24,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
- public async Task InvokeAsync(HttpContext httpContext)
|
|
+ public async Task InvokeAsync(HttpContext httpContext, ISqlSugarClient db)
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
@@ -32,7 +34,7 @@
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
{
|
|
{
|
|
- await HandleExceptionAsync(httpContext, ex);
|
|
+ await HandleExceptionAsync(httpContext, ex, db);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -41,16 +43,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
- private async Task HandleExceptionAsync(HttpContext context, Exception exception)
|
|
+ private async Task HandleExceptionAsync(HttpContext context, Exception exception, ISqlSugarClient db)
|
|
{
|
|
{
|
|
|
|
+
|
|
|
|
+ if (db != null && db.Ado.Transaction != null)
|
|
|
|
+ {
|
|
|
|
+ db.Ado.RollbackTran();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
context.Response.ContentType = "application/json";
|
|
context.Response.ContentType = "application/json";
|
|
var response = context.Response;
|
|
var response = context.Response;
|
|
var errorResponse = new JsonView
|
|
var errorResponse = new JsonView
|
|
{
|
|
{
|
|
Code = StatusCodes.Status500InternalServerError,
|
|
Code = StatusCodes.Status500InternalServerError,
|
|
Data = ""
|
|
Data = ""
|
|
- };
|
|
+ };
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
switch (exception)
|
|
switch (exception)
|
|
{
|
|
{
|
|
case ApplicationException ex:
|
|
case ApplicationException ex:
|