35 lines
1.6 KiB
C#
35 lines
1.6 KiB
C#
using Core.Blueprint.Common.DependencyInjection;
|
|
using Furniture.DAL.DependencyInjection;
|
|
using Furniture.Service.Application.Adapters;
|
|
using Furniture.Service.Application.Ports;
|
|
using Furniture.Service.Application.UseCases;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
|
|
|
namespace Furniture.Service.Application.DependencyInjection;
|
|
|
|
/// <summary>
|
|
/// Registers furniture-service runtime orchestration and DAL adapters.
|
|
/// </summary>
|
|
public static class FurnitureServiceRuntimeServiceCollectionExtensions
|
|
{
|
|
/// <summary>
|
|
/// Adds furniture-service runtime wiring aligned with blueprint runtime and furniture-dal runtime.
|
|
/// </summary>
|
|
/// <param name="services">Service collection.</param>
|
|
/// <returns>Service collection for fluent chaining.</returns>
|
|
public static IServiceCollection AddFurnitureServiceRuntime(this IServiceCollection services)
|
|
{
|
|
services.AddBlueprintRuntimeCore();
|
|
services.AddFurnitureDalRuntime();
|
|
|
|
services.TryAddSingleton<IFurnitureAvailabilityContractAdapter, FurnitureAvailabilityContractAdapter>();
|
|
services.TryAddSingleton<IFurnitureAvailabilityGrpcContractAdapter, FurnitureAvailabilityGrpcContractAdapter>();
|
|
services.TryAddSingleton<IFurnitureAvailabilityReadPort, FurnitureAvailabilityReadPortDalAdapter>();
|
|
services.TryAddSingleton<ICatalogProductReadPort, CatalogProductReadPortDalAdapter>();
|
|
services.TryAddSingleton<IGetFurnitureAvailabilityUseCase, GetFurnitureAvailabilityUseCase>();
|
|
|
|
return services;
|
|
}
|
|
}
|