This commit is contained in:
2023-12-17 11:37:30 +02:00
parent f495fc9b8f
commit 4ddab34ad1
3 changed files with 7 additions and 6 deletions
@@ -20,12 +20,13 @@ public class ResponseFilter : IActionFilter
public void OnActionExecuted(ActionExecutedContext context) public void OnActionExecuted(ActionExecutedContext context)
{ {
var route = $"{context.Controller.GetType().Name}.{context.ActionDescriptor.DisplayName}";
if (context.Result == null) if (context.Result == null)
throw new NotSupportedException($"Response required"); throw new NotSupportedException($"[{route}] Response required");
if (!(context.Result is ObjectResult result)) if (!(context.Result is ObjectResult result))
throw new NotSupportedException($"Response must be an ObjectResult - {context.Result?.GetType().Name}"); throw new NotSupportedException($"[{route}] Response must be an ObjectResult - {context.Result?.GetType().Name}");
if (result.Value == null) if (result.Value == null)
throw new NotSupportedException($"Response must be an ObjectResult with value"); throw new NotSupportedException($"[{route}] Response must be an ObjectResult with value");
if (result.Value is IResponseModel) if (result.Value is IResponseModel)
{ {
@@ -40,6 +41,6 @@ public class ResponseFilter : IActionFilter
return; return;
} }
throw new NotSupportedException($"Response must be an ObjectResult with an IResponseModel - {result.Value?.GetType().Name}"); throw new NotSupportedException($"[{route}] Response must be an ObjectResult with an IResponseModel - {result.Value?.GetType().Name}");
} }
} }
@@ -5,7 +5,7 @@ namespace MyOffice.Web.Models.Currency;
using AutoMapper; using AutoMapper;
using MyOffice.Services.Currency.Domain; using MyOffice.Services.Currency.Domain;
public class CurrencyGlobalViewModel public class CurrencyGlobalViewModel: IResponseModel
{ {
public string Id { get; set; } = null!; public string Id { get; set; } = null!;
public string Name { get; set; } = null!; public string Name { get; set; } = null!;
@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations;
using AutoMapper; using AutoMapper;
using Services.Account.Domain; using Services.Account.Domain;
public class ItemCategoryViewModel public class ItemCategoryViewModel: IResponseModel
{ {
public string? Id { get; set; } public string? Id { get; set; }