using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using WiDAL.DTOs; using WiDAL.Query.Wi; namespace WiDAL.CustomCode.EmployeeLeaveLink; public class EmployeeLeaveLinkDAL : IEmployeeLeaveLinkDAL { private readonly IQueryExecutor _qe; public EmployeeLeaveLinkDAL(IQueryExecutor qe) => _qe = qe; public async Task> GetApprovedLeaveForDateAsync( IEnumerable employeeIds, DateOnly leaveDate, LoginDTO login, CancellationToken ct) { var ids = employeeIds.ToArray(); if (ids.Length == 0) return []; return await _qe.QueryAsync( login, EmployeeLeaveLinkQB.GET_APPROVED_LEAVE_FOR_DATE, new { EmployeeIds = ids, LeaveDate = leaveDate }, cancellationToken: ct).ConfigureAwait(false); } }