using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using MMDAL.DTO.Counter; using MMDAL.Query.Counter; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace MMDAL.Counter { public class CounterDAL : ICounterDAL { private readonly IQueryExecutor _QueryExecutor; public CounterDAL(IQueryExecutor QueryExecutor) { _QueryExecutor = QueryExecutor; } public async Task GetSelectListCounter( int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool IsCount = false) { try { string Json = ""; if (!IsCount) { string Sql = CounterQB.GET_SELECTLIST_COUNTER; var Parameters = new { firstnumber = FirstNumber, maxresult = MaxResult }; IEnumerable CounterPicklistDTO = await _QueryExecutor.QueryAsync( LoginDTO, Sql, Parameters); Json = JsonConvert.SerializeObject(CounterPicklistDTO); } else { int Count = 0; Json = Count.ToString(); } return Json; } catch (Exception) { throw; } } } }