using AutomationDAL.DTO.ScriptParam; using AutomationDAL.Query.ScriptParam; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; namespace AutomationDAL.CustomCode.ScriptParam; public class ScriptParamDAL : IScriptParamDAL { private readonly IQueryExecutor _qe; public ScriptParamDAL(IQueryExecutor qe) => _qe = qe; public async Task> GetByScript(int scriptId, LoginDTO login, CancellationToken ct) => await _qe.QueryAsync(login, ScriptParamQB.GET_BY_SCRIPT, new { ScriptId = scriptId, TenantId = login.ClientId }, cancellationToken: ct).ConfigureAwait(false); public async Task Insert(ScriptParamDTO dto, LoginDTO login, CancellationToken ct) => await _qe.ExecuteIdentityAsync(login, ScriptParamQB.INSERT, new { dto.ScriptId, dto.ParamName, dto.ParamType, dto.IsRequired, dto.DefaultValue, TenantId = login.ClientId }).ConfigureAwait(false); public async Task Delete(int paramId, LoginDTO login, CancellationToken ct) => await _qe.ExecuteAsync(login, ScriptParamQB.DELETE, new { ParamId = paramId, TenantId = login.ClientId }, cancellationToken: ct).ConfigureAwait(false); }