Files
CMS/src/CMSMicroservice.Infrastructure/DependencyInjection.cs
T
masoodafar-web dde4c68b2f
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 2m33s
feat: Implement inventory and warehouse management features
- Add GetLowStockItemsResponseDto and LowStockItemDto for low stock item queries.
- Create CreateStockMovementCommand and its handler for managing stock movements.
- Implement CreateStockMovementCommandValidator for validating stock movement commands.
- Add GetStockMovementsQuery and its handler to retrieve stock movement records.
- Create GetStockMovementsResponseDto and StockMovementListDto for stock movement responses.
- Implement GetStockMovementsByInventoryItemQuery and its handler for fetching movements by inventory item.
- Add CreateWarehouseCommand and its handler for creating new warehouses.
- Implement CreateWarehouseCommandValidator for warehouse creation validation.
- Add DeleteWarehouseCommand and its handler for removing warehouses.
- Implement SetDefaultWarehouseCommand and its handler for setting a default warehouse.
- Create UpdateWarehouseCommand and its handler for updating warehouse details.
- Implement GetAllWarehousesQuery and its handler to retrieve all warehouses.
- Add GetWarehouseQuery and its handler for fetching a specific warehouse by ID.
- Implement SearchWarehousesQuery and its handler for searching warehouses based on criteria.
2026-01-03 11:59:08 +03:30

37 lines
1.4 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using CMSMicroservice.Application.Common.Interfaces;
using CMSMicroservice.Infrastructure.Persistence;
using CMSMicroservice.Infrastructure.Services;
namespace CMSMicroservice.Infrastructure;
/// <summary>
/// کلاس تزریق وابستگی برای لایه Infrastructure
/// </summary>
public static class DependencyInjection
{
/// <summary>
/// افزودن سرویس های Infrastructure به DI Container
/// </summary>
/// <param name="services">IServiceCollection</param>
/// <param name="configuration">IConfiguration</param>
/// <returns>IServiceCollection</returns>
public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)
{
// Database Configuration
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
configuration.GetConnectionString("DefaultConnection"),
b => b.MigrationsAssembly(typeof(ApplicationDbContext).Assembly.FullName)));
// Application Context Interface
services.AddScoped<IApplicationDbContext>(provider => provider.GetRequiredService<ApplicationDbContext>());
// Business Services
services.AddScoped<IInventoryService, InventoryService>();
return services;
}
}