167 lines
9.6 KiB
C#
167 lines
9.6 KiB
C#
using Core.Inventory.Application.UseCases.Inventory;
|
|
using Core.Inventory.Application.UseCases.Inventory.Adapter;
|
|
using Core.Inventory.Application.UseCases.Inventory.Input.Base;
|
|
using Core.Inventory.Application.UseCases.Inventory.Input.Variant;
|
|
using Core.Inventory.Application.UseCases.Inventory.Ports;
|
|
using Core.Inventory.Application.UseCases.Inventory.Validator.Base;
|
|
using Core.Inventory.Application.UseCases.Inventory.Validator.Variant;
|
|
using Core.Inventory.Application.UseCases.Product;
|
|
using Core.Inventory.Application.UseCases.Product.Adapter;
|
|
using Core.Inventory.Application.UseCases.Product.Input;
|
|
using Core.Inventory.Application.UseCases.Product.Ports;
|
|
using Core.Inventory.Application.UseCases.Product.Validator;
|
|
using Core.Inventory.Application.UseCases.Tag;
|
|
using Core.Inventory.Application.UseCases.Tag.Adapter;
|
|
using Core.Inventory.Application.UseCases.Tag.Input;
|
|
using Core.Inventory.Application.UseCases.Tag.Ports;
|
|
using Core.Inventory.Application.UseCases.Tag.Validator;
|
|
using Core.Inventory.Application.UseCases.TagType;
|
|
using Core.Inventory.Application.UseCases.TagType.Adapter;
|
|
using Core.Inventory.Application.UseCases.TagType.Input;
|
|
using Core.Inventory.Application.UseCases.TagType.Ports;
|
|
using Core.Inventory.Application.UseCases.TagType.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.AddScoped<IComponentHandler<GetFurnitureVariantsByIdsRequest>, InventoryHandler>();
|
|
services.AddScoped<IComponentHandler<GetAllFurnitureVariantRequest>, 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>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<GetFurnitureVariantsByIdsValidator>();
|
|
services.AddScoped<IValidator<GetFurnitureVariantsByIdsRequest>, GetFurnitureVariantsByIdsValidator>();
|
|
#endregion
|
|
|
|
#region TagType Services
|
|
|
|
services.AddScoped<ITagTypePort, TagTypePort>();
|
|
services.AddScoped<IComponentHandler<GetAllTagTypesRequest>, TagTypeHandler>();
|
|
services.AddScoped<IComponentHandler<GetTagTypeRequest>, TagTypeHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<GetAllTagTypesByListValidator>();
|
|
services.AddScoped<IValidator<GetAllTagTypesByListRequest>, GetAllTagTypesByListValidator>();
|
|
services.AddScoped<IComponentHandler<GetAllTagTypesByListRequest>, TagTypeHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<CreateTagTypeValidator>();
|
|
services.AddScoped<IValidator<CreateTagTypeRequest>, CreateTagTypeValidator>();
|
|
services.AddScoped<IComponentHandler<CreateTagTypeRequest>, TagTypeHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<UpdateTagTypeValidator>();
|
|
services.AddScoped<IValidator<UpdateTagTypeRequest>, UpdateTagTypeValidator>();
|
|
services.AddScoped<IComponentHandler<UpdateTagTypeRequest>, TagTypeHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<ChangeTagTypeStatusValidator>();
|
|
services.AddScoped<IValidator<ChangeTagTypeStatusRequest>, ChangeTagTypeStatusValidator>();
|
|
services.AddScoped<IComponentHandler<ChangeTagTypeStatusRequest>, TagTypeHandler>();
|
|
|
|
#endregion
|
|
|
|
#region Tag Services
|
|
|
|
services.AddScoped<ITagPort, TagPort>();
|
|
services.AddScoped<IComponentHandler<GetAllTagsRequest>, TagHandler>();
|
|
services.AddScoped<IComponentHandler<GetTagRequest>, TagHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<GetAllTagsByListValidator>();
|
|
services.AddScoped<IValidator<GetAllTagsByListRequest>, GetAllTagsByListValidator>();
|
|
services.AddScoped<IComponentHandler<GetAllTagsByListRequest>, TagHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<CreateTagValidator>();
|
|
services.AddScoped<IValidator<CreateTagRequest>, CreateTagValidator>();
|
|
services.AddScoped<IComponentHandler<CreateTagRequest>, TagHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<UpdateTagValidator>();
|
|
services.AddScoped<IValidator<UpdateTagRequest>, UpdateTagValidator>();
|
|
services.AddScoped<IComponentHandler<UpdateTagRequest>, TagHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<ChangeTagStatusValidator>();
|
|
services.AddScoped<IValidator<ChangeTagStatusRequest>, ChangeTagStatusValidator>();
|
|
services.AddScoped<IComponentHandler<ChangeTagStatusRequest>, TagHandler>();
|
|
|
|
services.AddScoped<IComponentHandler<AddParentTagToTagRequest>, TagHandler>();
|
|
services.AddScoped<IComponentHandler<RemoveParentTagFromTagRequest>, TagHandler>();
|
|
|
|
#endregion
|
|
|
|
#region Product Services
|
|
|
|
services.AddScoped<IProductPort, ProductPort>();
|
|
services.AddScoped<IComponentHandler<GetAllProductsRequest>, ProductHandler>();
|
|
services.AddScoped<IComponentHandler<GetProductRequest>, ProductHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<GetAllProductsByListValidator>();
|
|
services.AddScoped<IValidator<GetAllProductsByListRequest>, GetAllProductsByListValidator>();
|
|
services.AddScoped<IComponentHandler<GetAllProductsByListRequest>, ProductHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<CreateProductValidator>();
|
|
services.AddScoped<IValidator<CreateProductRequest>, CreateProductValidator>();
|
|
services.AddScoped<IComponentHandler<CreateProductRequest>, ProductHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<UpdateProductValidator>();
|
|
services.AddScoped<IValidator<UpdateProductRequest>, UpdateProductValidator>();
|
|
services.AddScoped<IComponentHandler<UpdateProductRequest>, ProductHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<ChangeProductStatusValidator>();
|
|
services.AddScoped<IValidator<ChangeProductStatusRequest>, ChangeProductStatusValidator>();
|
|
services.AddScoped<IComponentHandler<ChangeProductStatusRequest>, ProductHandler>();
|
|
|
|
services.AddValidatorsFromAssemblyContaining<DeleteProductValidator>();
|
|
services.AddScoped<IValidator<DeleteProductRequest>, DeleteProductValidator>();
|
|
services.AddScoped<IComponentHandler<DeleteProductRequest>, ProductHandler>();
|
|
|
|
#endregion
|
|
|
|
return services;
|
|
}
|
|
}
|
|
}
|