using System.Linq; using System.Threading; using System.Threading.Tasks; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using TMSDAL.DTO.Reports; using TMSDAL.Query.Reports; namespace TMSDAL.CustomCode.Reports { public class TmsReportAccessControlDAL : ITmsReportAccessControlDAL { private readonly IQueryExecutor _queryExecutor; public TmsReportAccessControlDAL(IQueryExecutor queryExecutor) { _queryExecutor = queryExecutor; } public async Task GetReportAccessLimits(int roleId, int menuId, LoginDTO loginDTO, CancellationToken ct) { var rows = await _queryExecutor.QueryAsync( loginDTO, TmsReportsQB.GET_REPORT_ACCESS_LIMITS, new { RoleId = roleId, MenuId = menuId }, cancellationToken: ct).ConfigureAwait(false); return rows.FirstOrDefault(); } } }