37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
using FluentValidation;
|
||
using MediatR;
|
||
using Microsoft.Extensions.DependencyInjection;
|
||
using System.Reflection;
|
||
using TakeoutSaaS.Application.App.Common.Behaviors;
|
||
using TakeoutSaaS.Application.App.Personal.Services;
|
||
using TakeoutSaaS.Application.App.Personal.Validators;
|
||
|
||
namespace TakeoutSaaS.Application.App.Extensions;
|
||
|
||
/// <summary>
|
||
/// 业务应用层服务注册。
|
||
/// </summary>
|
||
public static class AppApplicationServiceCollectionExtensions
|
||
{
|
||
/// <summary>
|
||
/// 注册业务应用层(MediatR 处理器等)。
|
||
/// </summary>
|
||
/// <param name="services">服务集合。</param>
|
||
/// <returns>服务集合。</returns>
|
||
public static IServiceCollection AddAppApplication(this IServiceCollection services)
|
||
{
|
||
services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly()));
|
||
services.AddValidatorsFromAssembly(Assembly.GetExecutingAssembly());
|
||
services.AddTransient(typeof(IPipelineBehavior<,>), typeof(ValidationBehavior<,>));
|
||
|
||
// 1. 注册个人中心基础服务
|
||
services.AddScoped<PersonalContextService>();
|
||
services.AddSingleton<PersonalMaskingService>();
|
||
services.AddSingleton<PersonalDateRangeValidator>();
|
||
services.AddScoped<PersonalModuleStatusService>();
|
||
services.AddScoped<PersonalAuditService>();
|
||
|
||
return services;
|
||
}
|
||
}
|