using DevadminDAL.DTO.Replicate; using DevadminDAL.Query.Replicate; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace DevadminDAL.CustomCode.Replicate { public class ReplicateDAL : IReplicateDAL { private readonly IQueryExecutor _QueryExecutor; public ReplicateDAL(IQueryExecutor IQueryExecutor) { _QueryExecutor = IQueryExecutor; } public async Task GetReplicate(int ReplicateId, LoginDTO LoginDTO) { try { string sql = ReplicateQB.GET_REPLICATE; var parameters = new { replicateid = ReplicateId }; ReplicateDTO ReplicateDTO = await _QueryExecutor.QuerySingleAsync(LoginDTO, sql, parameters); return JsonConvert.SerializeObject(ReplicateDTO); } catch (Exception) { throw; } } public async Task> GetReplicateList(LoginDTO loginDTO, CancellationToken ct) => await _QueryExecutor.QueryAsync( loginDTO, ReplicateQB.GET_REPLICATE_LIST, cancellationToken: ct) .ConfigureAwait(false); public async Task InsertReplicate(ReplicateDTO dto, LoginDTO loginDTO, CancellationToken ct) => await _QueryExecutor.ExecuteIdentityAsync(loginDTO, ReplicateQB.INSERT_REPLICATE, dto) .ConfigureAwait(false); public async Task UpdateReplicate(ReplicateDTO dto, LoginDTO loginDTO, CancellationToken ct) => await _QueryExecutor.ExecuteAsync(loginDTO, ReplicateQB.UPDATE_REPLICATE, dto, cancellationToken: ct) .ConfigureAwait(false); public async Task DeleteReplicate(int replicateId, LoginDTO loginDTO, CancellationToken ct) => await _QueryExecutor.ExecuteAsync( loginDTO, ReplicateQB.DELETE_REPLICATE, new { ReplicateId = replicateId, ModifiedById = loginDTO.UserId, ModifiedOn = DateTime.UtcNow }, cancellationToken: ct) .ConfigureAwait(false); } }