Sky.Net/API/Extensions/ApplicationServicesExtensions.cs

32 lines
1.1 KiB
C#
Raw Normal View History

2022-05-11 13:18:34 -07:00
using API.Errors;
using Core.Interfaces;
using Infrastructure.Data;
using Microsoft.AspNetCore.Mvc;
namespace API.Extensions
{
public static class ApplicationServicesExtensions
{
public static IServiceCollection AddApplicationServices(this IServiceCollection services)
{
services.AddScoped<iProductRepository, ProductRepository>();
services.AddScoped(typeof(IGenericRepository<>), (typeof(GenericRepository<>)));
services.Configure<ApiBehaviorOptions>(options =>
options.InvalidModelStateResponseFactory = actionContext =>
{
var errors = actionContext.ModelState
.Where(e => e.Value.Errors.Count > 0)
.SelectMany(x => x.Value.Errors)
.Select(x => x.ErrorMessage).ToArray();
var errorRepsponse = new ApiValidationErrorResponse
{
Errors = errors
};
return new BadRequestObjectResult(errorRepsponse);
});
return services;
}
}
}