using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using MMDAL.DTO.Scheduling; using MMDAL.Query.Scheduling; using static GB5Shared.DTO.GOP.GBGatewayDTO; namespace MMDAL.CustomCode.Scheduling { public class CalendarDAL : ICalendarDAL { private readonly IQueryExecutor _QueryExecutor; public CalendarDAL(IQueryExecutor queryExecutor) { _QueryExecutor = queryExecutor; } public async Task> GetPlannedDowntimeAsync( int machineId, DateTime rangeFrom, DateTime rangeTo, LoginDTO loginDTO, CancellationToken ct = default) { try { return await _QueryExecutor.QueryAsync( loginDTO, CalendarQB.GET_MACHINE_PLANNED_DOWNTIME, new { MachineId = machineId, RangeFrom = rangeFrom, RangeTo = rangeTo,TenantId= loginDTO.ClientId }, cancellationToken: ct).ConfigureAwait(false); } catch (Exception) { throw; } } public async Task> GetBreakdownWindowsAsync( int machineId, DateTime rangeFrom, DateTime rangeTo, LoginDTO loginDTO, CancellationToken ct = default) { try { return await _QueryExecutor.QueryAsync( loginDTO, CalendarQB.GET_MACHINE_BREAKDOWN_CALLS, new { MachineId = machineId, RangeFrom = rangeFrom, RangeTo = rangeTo, TenantId=loginDTO.ClientId }, cancellationToken: ct).ConfigureAwait(false); } catch (Exception) { throw; } } } }