using CMSDAL.DTO.SiteTemplate; using CMSDAL.Query.SiteTemplate; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using Newtonsoft.Json; using System.Linq; namespace CMSDAL.CustomCode.SiteTemplate; public class SiteTemplateDAL : ISiteTemplateDAL { private readonly IQueryExecutor _qe; public SiteTemplateDAL(IQueryExecutor qe) => _qe = qe; public async Task GetListAsync(LoginDTO loginDTO, CancellationToken ct) { try { var result = await _qe.QueryAsync(loginDTO, SiteTemplateQB.GET_LIST, new { TenantId = loginDTO.ClientId }, cancellationToken: ct); return JsonConvert.SerializeObject(result); } catch { throw; } } public async Task GetByCodeAsync(string siteTemplateCode, LoginDTO loginDTO, CancellationToken ct) { try { var result = await _qe.QueryAsync(loginDTO, SiteTemplateQB.GET_BY_CODE, new { SiteTemplateCode = siteTemplateCode, TenantId = loginDTO.ClientId }, cancellationToken: ct); return JsonConvert.SerializeObject(result.FirstOrDefault()); } catch { throw; } } }