using EnablementDAL.CustomCode.ShowSpace; using EnablementDAL.DTO; using EnablementDAL.Query.Show; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; namespace EnablementDAL.Implementations; public class ShowSpaceDAL : IShowSpaceDAL { private readonly IQueryExecutor _qe; public ShowSpaceDAL(IQueryExecutor qe) => _qe = qe; public async Task GetShowSpaceAsync(int spaceId, LoginDTO login, CancellationToken ct) => await _qe.QuerySingleAsync( login, ShowSpaceQB.GET_SHOW_SPACE, new { SpaceId = spaceId, TenantId = login.ClientId }, cancellationToken: ct).ConfigureAwait(false); public async Task> GetShowSpaceListAsync( int pageNo, int pageSize, LoginDTO login, CancellationToken ct) => await _qe.QueryAsync( login, ShowSpaceQB.GET_SHOW_SPACE_LIST, new { TenantId = login.ClientId, PageNo = pageNo, PageSize = pageSize }, cancellationToken: ct).ConfigureAwait(false); public async Task GetShowSpaceListCountAsync(LoginDTO login, CancellationToken ct) => await _qe.ExecuteScalarAsync( login, ShowSpaceQB.GET_SHOW_SPACE_LIST_COUNT, new { TenantId = login.ClientId }, cancellationToken: ct).ConfigureAwait(false); public async Task> GetSelectListShowSpaceAsync(LoginDTO login, CancellationToken ct) => await _qe.QueryAsync( login, ShowSpaceQB.GET_SELECTLIST_SHOW_SPACE, new { TenantId = login.ClientId }, cancellationToken: ct).ConfigureAwait(false); public async Task InsertShowSpaceAsync(ShowSpaceDTO dto, LoginDTO login, CancellationToken ct) => await _qe.ExecuteAsync( login, ShowSpaceQB.INSERT_SHOW_SPACE, dto, cancellationToken: ct).ConfigureAwait(false); public async Task UpdateShowSpaceAsync(ShowSpaceDTO dto, LoginDTO login, CancellationToken ct) => await _qe.ExecuteAsync( login, ShowSpaceQB.UPDATE_SHOW_SPACE, dto, cancellationToken: ct).ConfigureAwait(false); public async Task DeleteShowSpaceAsync(int spaceId, LoginDTO login, CancellationToken ct) => await _qe.ExecuteAsync( login, ShowSpaceQB.DELETE_SHOW_SPACE, new { SpaceId = spaceId, TenantId = login.ClientId, ModifiedById = login.UserId }, cancellationToken: ct).ConfigureAwait(false); }