Core.Inventory.Service/Core.Inventory.Service.API/Extensions/ServiceCollectionExtension.cs
2025-06-22 19:34:07 -06:00

66 lines
3.7 KiB
C#

using Core.Inventory.Application.UseCases.Inventory;
using Core.Inventory.Application.UseCases.Inventory.Adapter;
using Core.Inventory.Application.UseCases.Inventory.Input;
using Core.Inventory.Application.UseCases.Inventory.Ports;
using Core.Inventory.Application.UseCases.Inventory.Validator;
using FluentValidation;
using Lib.Architecture.BuildingBlocks;
namespace Core.Inventory.Service.API.Extensions
{
public static class ServiceCollectionExtension
{
public static IServiceCollection AddServiceConfigurationLayer(this IServiceCollection services)
{
#region FurnitureBase
services.AddScoped<IFurnitureBasePort, FurnitureBasePort>();
services.AddScoped<IComponentHandler<GetAllFurnitureBaseRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<GetFurnitureBaseByIdRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<CreateFurnitureBaseRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<UpdateFurnitureBaseRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<ChangeFurnitureBaseStatusRequest>, InventoryHandler>();
services.AddValidatorsFromAssemblyContaining<CreateFurnitureBaseValidator>();
services.AddScoped<IValidator<CreateFurnitureBaseRequest>, CreateFurnitureBaseValidator>();
services.AddValidatorsFromAssemblyContaining<UpdateFurnitureBaseValidator>();
services.AddScoped<IValidator<UpdateFurnitureBaseRequest>, UpdateFurnitureBaseValidator>();
services.AddValidatorsFromAssemblyContaining<ChangeFurnitureBaseStatusValidator>();
services.AddScoped<IValidator<ChangeFurnitureBaseStatusRequest>, ChangeFurnitureBaseStatusValidator>();
services.AddValidatorsFromAssemblyContaining<GetFurnitureBaseByIdValidator>();
services.AddScoped<IValidator<GetFurnitureBaseByIdRequest>, GetFurnitureBaseByIdValidator>();
#endregion
#region FurnitureVariant
services.AddScoped<IFurnitureVariantPort, FurnitureVariantPort>();
services.AddScoped<IComponentHandler<GetAllFurnitureVariantsByModelIdRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<GetFurnitureVariantByIdRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<CreateFurnitureVariantRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<UpdateFurnitureVariantRequest>, InventoryHandler>();
services.AddScoped<IComponentHandler<ChangeFurnitureVariantStatusRequest>, InventoryHandler>();
services.AddValidatorsFromAssemblyContaining<CreateFurnitureVariantValidator>();
services.AddScoped<IValidator<CreateFurnitureVariantRequest>, CreateFurnitureVariantValidator>();
services.AddValidatorsFromAssemblyContaining<UpdateFurnitureVariantValidator>();
services.AddScoped<IValidator<UpdateFurnitureVariantRequest>, UpdateFurnitureVariantValidator>();
services.AddValidatorsFromAssemblyContaining<ChangeFurnitureVariantStatusValidator>();
services.AddScoped<IValidator<ChangeFurnitureVariantStatusRequest>, ChangeFurnitureVariantStatusValidator>();
services.AddValidatorsFromAssemblyContaining<GetFurnitureVariantByIdValidator>();
services.AddScoped<IValidator<GetFurnitureVariantByIdRequest>, GetFurnitureVariantByIdValidator>();
services.AddValidatorsFromAssemblyContaining<GetAllFurnitureVariantsByModelIdValidator>();
services.AddScoped<IValidator<GetAllFurnitureVariantsByModelIdRequest>, GetAllFurnitureVariantsByModelIdValidator>();
#endregion
return services;
}
}
}