36 lines
1.6 KiB
C#
36 lines
1.6 KiB
C#
using F9WebAiTest.Application.Dtos.SYS.Registries;
|
|
using F9WebAiTest.Application.Interfaces.Repositories.SYS.Registries;
|
|
using MediatR;
|
|
|
|
namespace F9WebAiTest.Application.CQRS.SYS.Registries.Queries;
|
|
|
|
/// <summary>全部注册表配置(含未启用)</summary>
|
|
public record GetRegistryAllQuery() : IRequest<List<RegistryReadDto_View>>;
|
|
|
|
public class GetRegistryAllQueryHandler(IRegistryReadRepository readRepository)
|
|
: IRequestHandler<GetRegistryAllQuery, List<RegistryReadDto_View>>
|
|
{
|
|
public async Task<List<RegistryReadDto_View>> Handle(GetRegistryAllQuery query, CancellationToken ct)
|
|
=> await readRepository.GetAllAsync();
|
|
}
|
|
|
|
/// <summary>按 Id 查询(编辑回显)</summary>
|
|
public record GetRegistryByIdForEditQuery(long Id) : IRequest<RegistryReadDto_Edit>;
|
|
|
|
public class GetRegistryByIdForEditQueryHandler(IRegistryReadRepository readRepository)
|
|
: IRequestHandler<GetRegistryByIdForEditQuery, RegistryReadDto_Edit>
|
|
{
|
|
public async Task<RegistryReadDto_Edit> Handle(GetRegistryByIdForEditQuery query, CancellationToken ct)
|
|
=> await readRepository.GetByIdForEditAsync(query.Id);
|
|
}
|
|
|
|
/// <summary>按命名空间 + 键名查询(业务模块取值入口)</summary>
|
|
public record GetByCategoryAndKeyQuery(string Category, string KeyName) : IRequest<RegistryReadDto_Edit>;
|
|
|
|
public class GetByCategoryAndKeyQueryHandler(IRegistryReadRepository readRepository)
|
|
: IRequestHandler<GetByCategoryAndKeyQuery, RegistryReadDto_Edit>
|
|
{
|
|
public async Task<RegistryReadDto_Edit> Handle(GetByCategoryAndKeyQuery query, CancellationToken ct)
|
|
=> await readRepository.GetByCategoryAndKeyAsync(query.Category, query.KeyName);
|
|
}
|