using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using GB5Shared.Criteria.DTO; using GB5Shared.Criteria.Query; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using Newtonsoft.Json; namespace GB5Shared.Criteria { public class EntityCriteriaDAL : IEntityCriteriaDAL { private readonly IQueryExecutor _QueryExecutor; public EntityCriteriaDAL(IQueryExecutor QueryExecutor) { _QueryExecutor = QueryExecutor; } public async Task GetEntityCriteria(string EntityType, LoginDTO LoginDTO, CancellationToken ct = default) { try { var parameters = new { entitytype = EntityType }; IEnumerable Result = await _QueryExecutor.QueryAsync( LoginDTO, EntityCriteriaQB.GET_ENTITY_CRITERIA, parameters, cancellationToken: ct); return JsonConvert.SerializeObject(Result); } catch (Exception) { throw; } } } }