first
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using Common.NETCore.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Filters;
|
||||
using System.Net;
|
||||
|
||||
namespace FASS.Scheduler.Attributes
|
||||
{
|
||||
public class ResultAttribute : ActionFilterAttribute
|
||||
{
|
||||
public override void OnResultExecuting(ResultExecutingContext context)
|
||||
{
|
||||
if (context.Result is StatusCodeResult statusCodeResult)
|
||||
{
|
||||
var responseResult = new ResponseResult();
|
||||
responseResult.Code = statusCodeResult.StatusCode.ToString();
|
||||
if (statusCodeResult is OkResult)
|
||||
{
|
||||
responseResult.Success = true;
|
||||
responseResult.Data = Enum.GetName(typeof(HttpStatusCode), (HttpStatusCode)statusCodeResult.StatusCode);
|
||||
}
|
||||
else
|
||||
{
|
||||
responseResult.Success = false;
|
||||
responseResult.Message = Enum.GetName(typeof(HttpStatusCode), (HttpStatusCode)statusCodeResult.StatusCode);
|
||||
}
|
||||
context.Result = new OkObjectResult(responseResult);
|
||||
}
|
||||
else if (context.Result is ObjectResult objectResult)
|
||||
{
|
||||
var responseResult = new ResponseResult();
|
||||
responseResult.Code = (objectResult?.StatusCode ?? 0).ToString();
|
||||
if (objectResult is OkObjectResult)
|
||||
{
|
||||
responseResult.Success = true;
|
||||
responseResult.Data = objectResult.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
responseResult.Success = false;
|
||||
responseResult.Message = objectResult?.Value;
|
||||
}
|
||||
context.Result = new OkObjectResult(responseResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user