using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using PayRollDAL.CustomeCode.PayProcess; using PayRollDAL.DTO.PayProcess; using System.Runtime.CompilerServices; namespace PayRollBLL.PayProcess; public sealed class SalaryAbstractSummaryBLL(ISalaryAbstractSummaryDAL dal) : ISalaryAbstractSummaryBLL { public async Task GetSalaryAbstractSummary( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO loginDTO, CancellationToken ct = default) { var rows = await dal.GetSalaryAbstractSummary( firstNumber, maxResult, criteriaDTO, loginDTO, ct); return rows; } public async IAsyncEnumerable GetSalaryAbstractSummaryStream( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO loginDTO, [EnumeratorCancellation] CancellationToken ct = default) { await foreach (var row in dal.GetSalaryAbstractSummaryStream( firstNumber, maxResult, criteriaDTO, loginDTO, ct)) { yield return row; } } }