41 lines
2.2 KiB
C#
41 lines
2.2 KiB
C#
using F9WebAiTest.Application.Common;
|
|
using F9WebAiTest.Application.Dtos.SYS.WuziMulus;
|
|
using F9WebAiTest.Application.Dtos.SYS.YuanliaoZhuangkous;
|
|
using F9WebAiTest.Application.Interfaces.Repositories.SYS.YuanliaoZhuangkous;
|
|
using MediatR;
|
|
|
|
namespace F9WebAiTest.Application.CQRS.SYS.YuanliaoZhuangkous.Queries;
|
|
|
|
/// <summary>原料庄口分页查询(年度 + 产地/站点/季别 + 关键字)</summary>
|
|
public record GetYuanliaoZhuangkouPagedQuery(
|
|
int Year = 0, string Chandi = "", string Zhandian = "", string Jibie = "", string Like = "",
|
|
int PageIndex = 1, int PageSize = 20) : IRequest<PageResult<YuanliaoZhuangkouReadDto_Table>>;
|
|
|
|
public class GetYuanliaoZhuangkouPagedQueryHandler(IYuanliaoZhuangkouReadRepository readRepository)
|
|
: IRequestHandler<GetYuanliaoZhuangkouPagedQuery, PageResult<YuanliaoZhuangkouReadDto_Table>>
|
|
{
|
|
public async Task<PageResult<YuanliaoZhuangkouReadDto_Table>> Handle(GetYuanliaoZhuangkouPagedQuery query, CancellationToken ct)
|
|
=> await readRepository.GetPagedAsync(query.Year, query.Chandi, query.Zhandian, query.Jibie,
|
|
query.Like, query.PageIndex, query.PageSize);
|
|
}
|
|
|
|
/// <summary>按 Id 查询原料庄口(编辑回显)</summary>
|
|
public record GetYuanliaoZhuangkouByIdQuery(long Id) : IRequest<YuanliaoZhuangkouReadDto_Edit>;
|
|
|
|
public class GetYuanliaoZhuangkouByIdQueryHandler(IYuanliaoZhuangkouReadRepository readRepository)
|
|
: IRequestHandler<GetYuanliaoZhuangkouByIdQuery, YuanliaoZhuangkouReadDto_Edit>
|
|
{
|
|
public async Task<YuanliaoZhuangkouReadDto_Edit> Handle(GetYuanliaoZhuangkouByIdQuery query, CancellationToken ct)
|
|
=> await readRepository.GetByIdForEditAsync(query.Id);
|
|
}
|
|
|
|
/// <summary>物资(茧别)下拉选项:来自物资目录中名称含"茧"的物资,支持关键字过滤</summary>
|
|
public record GetYuanliaoZhuangkouWuziOptionsQuery(string Keyword = "") : IRequest<List<WuziMuluOptionDto>>;
|
|
|
|
public class GetYuanliaoZhuangkouWuziOptionsQueryHandler(IYuanliaoZhuangkouReadRepository readRepository)
|
|
: IRequestHandler<GetYuanliaoZhuangkouWuziOptionsQuery, List<WuziMuluOptionDto>>
|
|
{
|
|
public async Task<List<WuziMuluOptionDto>> Handle(GetYuanliaoZhuangkouWuziOptionsQuery query, CancellationToken ct)
|
|
=> await readRepository.GetWuziOptionsAsync(query.Keyword);
|
|
}
|