Files
WMS-Api/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs
2023-11-15 16:35:05 +08:00

82 lines
4.3 KiB
C#

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Text;
using WMS.Web.Core.Dto;
using WMS.Web.Core.Dto.ChangeBoxRecord;
using WMS.Web.Core.Dto.Inventory;
using WMS.Web.Core.Dto.MoveBoxRecord;
using WMS.Web.Core.Dto.OutStock;
using WMS.Web.Core.Dto.OutStockTask;
using WMS.Web.Core.Dto.TakeStock;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Repositories;
using WMS.Web.Repositories.Configuration;
using WMS.Web.Repositories.DependencyInjection;
namespace Microsoft.Extensions.DependencyInjection
{
public static class AppBuilderExtensions
{
/// <summary>
/// 配置数据库
/// </summary>
/// <param name="builder"></param>
/// <param name="configureDbContext"></param>
/// <returns></returns>
public static AppBuilder AddDbContext(this AppBuilder builder, Action<DbContextOptionsBuilder> configureDbContext)
{
builder.Services.AddDbContext<RepositoryDbContext>(configureDbContext);
builder.Services.AddRepositories();
return builder;
}
/// <summary>
/// 注入仓储层
/// </summary>
/// <param name="builder"></param>
private static void AddRepositories(this IServiceCollection services)
{
services.AddHttpContextAccessor();
services.AddScoped<ILoginRepositories, LoginRepositories>();
//services.AddScoped<IBasicsRepositories, BasicsRepositories>();
services.AddTransient<IBoxRepositories, BoxRepositories>();
services.AddTransient<IBasicsRepositories, BasicsRepositories>();
services.AddTransient<ITransactionRepositories, TransactionRepositories>();
#region
services.AddTransient<IAllFielRepositories<OutStockTaskQueryRequest>, OutStockTaskRepositories>();
services.AddTransient<IAllFielRepositories<TakeStockQueryRequest>, TakeStockRepositories>();
services.AddTransient<IAllFielRepositories<OutStockQueryRequest>, OutStockRepositories>();
services.AddTransient<IAllFielRepositories<MoveBoxRecordQueryRequest>, MoveBoxRecordRepositories>();
services.AddTransient<IAllFielRepositories<ChangeBoxRecordQueryRequest>, ChangeBoxRecordRepositories>();
services.AddTransient<IAllFielRepositories<InStockQueryRequest>, InStockRepositories>();
services.AddTransient<IAllFielRepositories<InStockTaskQueryRequest>, InStockTaskRepositories>();
services.AddTransient<IAllFielRepositories<InventoryDetailsQueryRequest>, InventoryDetailsRepositories>();
services.AddTransient<IAllFielRepositories<InventoryInOutDetailsQueryRequest>, InventoryInOutDetailsRepositories>();
services.AddTransient<IAllFielRepositories<BoxInventoryQueryRequest>, BoxInventoryRepositories>();
services.AddTransient<IAllFielRepositories<BackRecordQueryRequest>, BackRecordRepositories>();
#endregion
services.AddTransient<IInStockRepositories, InStockRepositories>();
services.AddTransient<IInStockTaskRepositories, InStockTaskRepositories>();
services.AddTransient<IBackRecordRepositories, BackRecordRepositories>();
services.AddTransient<IInventoryDetailsRepositories, InventoryDetailsRepositories>();
services.AddTransient<IInventoryInOutDetailsRepositories, InventoryInOutDetailsRepositories>();
services.AddTransient<IBoxInventoryRepositories, BoxInventoryRepositories>();
services.AddTransient<IFileDownManagerRepositories, FileDownManagerRepositories>();
services.AddTransient<ISerialNumbersRepositories, SerialNumbersRepositories>();
services.AddTransient<ISerialNumberOperateRepositories, SerialNumberOperateRepositories>();
services.AddTransient<IChangeBoxRecordRepositories, ChangeBoxRecordRepositories>();
services.AddTransient<IMoveBoxRecordRepositories, MoveBoxRecordRepositories>();
services.AddTransient<IOutStockRepositories, OutStockRepositories>();
services.AddTransient<IOutStockTaskRepositories, OutStockTaskRepositories>();
services.AddTransient<ITakeStockRepositories, TakeStockRepositories>();
services.AddTransient<IErpOpsSyncDateRepositories, ErpOpsSyncDateRepositories>();
}
}
}