using ComplianceDAL.DTO.GSPConfig; using ComplianceDAL.Query.GSPConfig; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using Newtonsoft.Json; namespace ComplianceDAL.CustomCode.GSPConfig; public class GSPConfigDAL : IGSPConfigDAL { private readonly IQueryExecutor _queryExecutor; public GSPConfigDAL(IQueryExecutor queryExecutor) => _queryExecutor = queryExecutor; public async Task GetGSPConfig(int gspConfigId, LoginDTO login, CancellationToken ct) { var result = await _queryExecutor.QuerySingleAsync( login, GSPConfigQB.GET_GSP_CONFIG, new { GSPConfigId = gspConfigId }).ConfigureAwait(false); return JsonConvert.SerializeObject(result); } public async Task GetGSPConfigList(LoginDTO login, CancellationToken ct) { var result = await _queryExecutor.QueryAsync( login, GSPConfigQB.GET_GSP_CONFIG_LIST, new { }, cancellationToken: ct).ConfigureAwait(false); return JsonConvert.SerializeObject(result); } public async Task GetSelectListGSPConfig(LoginDTO login, CancellationToken ct) { var result = await _queryExecutor.QueryAsync( login, GSPConfigQB.GET_GSP_CONFIG_SELECT_LIST, new { }, cancellationToken: ct).ConfigureAwait(false); return JsonConvert.SerializeObject(result); } public async Task SaveGSPConfig(GSPConfigDTO dto, LoginDTO login, CancellationToken ct) { await _queryExecutor.ExecuteAsync( login, GSPConfigQB.SAVE_GSP_CONFIG, new { dto.GSPConfigId, dto.GSPName, dto.SourceType, dto.IsActive, dto.CreatedById, login.ClientId, login.DatabaseName }, cancellationToken: ct).ConfigureAwait(false); } public async Task UpdateGSPConfig(GSPConfigDTO dto, LoginDTO login, CancellationToken ct) { await _queryExecutor.ExecuteAsync( login, GSPConfigQB.UPDATE_GSP_CONFIG, new { dto.GSPConfigId, dto.GSPName, dto.SourceType, dto.IsActive, dto.ModifiedById, login.ClientId, login.DatabaseName }, cancellationToken: ct).ConfigureAwait(false); } }