using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using NPP.SmartSchedue.Api.Contracts.Services.Personnel;
using NPP.SmartSchedue.Api.Services.Personnel;
using NPP.SmartSchedue.Api.Contracts.Services.Integration;
using NPP.SmartSchedue.Api.Services.Integration;
using NPP.SmartSchedue.Api.Contracts.Services.Equipment;
using NPP.SmartSchedue.Api.Services.Equipment;
using NPP.SmartSchedue.Api.Contracts.Domain.Equipment;
using NPP.SmartSchedue.Api.Repositories.Equipment;
using NPP.SmartSchedue.Api.Repositories.Personnel;
using NPP.SmartSchedue.Api.Contracts;
using NPP.SmartSchedue.Api.Services.Integration.Algorithms;
using System;
using System.Linq;
using System.Net.Http;
using Polly;
namespace NPP.SmartSchedue.Api
{
///
/// 服务集合扩展方法
///
public static class ServiceCollectionExtensions
{
///
/// 注册人员约束相关服务
///
public static IServiceCollection AddPersonnelConstraintServices(this IServiceCollection services)
{
return services;
}
///
/// 注册设备相关Repository服务
///
public static IServiceCollection AddEquipmentRepositories(this IServiceCollection services)
{
// 注册设备相关Repository
services.AddScoped();
services.AddScoped();
services.AddScoped();
// 注册人员资质Repository
services.AddScoped();
return services;
}
///
/// 注册算法引擎服务
///
public static IServiceCollection AddAlgorithmEngines(this IServiceCollection services)
{
// 注册三个核心算法引擎
services.AddScoped();
services.AddScoped();
services.AddScoped();
services.AddScoped();
return services;
}
}
}