DDD + CQRS + MediatR 專案架構
public EmployeeListQueryHandler(IEmployeeRepository repository)
{
_repository = repository;
}
public async Task<PagedResult<EmployeeDto>> Handle(EmployeeListQuery request, CancellationToken cancellationToken)
{
var (items, total) = await _repository.SearchAsync(request.Keyword, request.Page, request.PageSize);
var result = new PagedResult<EmployeeDto>
{
TotalCount = total,
Items = items.Select(e => new EmployeeDto
{
Id = e.Id,
Name = e.Name,
Department = e.Department,
HireDate = e.HireDate
}).ToList()
};
return result;
}Last updated