public IActionResult Get(CatCurrrencyCriteria criteria, int page, int size)
        {
            var data   = catCurrencyService.Paging(criteria, page, size, out int rowCount);
            var result = new { data, totalItems = rowCount, page, size };

            return(Ok(result));
        }
        public async Task <IActionResult> ExportCurrency(CatCurrrencyCriteria catCurrrencyCriteria)
        {
            Helper helper          = new Helper();
            var    responseFromApi = await HttpServiceExtension.GetDataFromApi(catCurrrencyCriteria, aPis.CatalogueAPI + Urls.Catelogue.CatCurrencyUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CatCurrency> >();  //Make sure to add a reference to System.Net.Http.Formatting.dll

            var stream = helper.CreateCurrencyExcelFile(dataObjects.Result);

            return(new FileHelper().ExportExcel(stream, FilesNames.CurrencyName));
        }
        private IQueryable <CatCurrencyModel> GetBy(CatCurrrencyCriteria criteria)
        {
            Expression <Func <CatCurrencyModel, bool> > query;

            if (criteria.All == null)
            {
                query = (x => (x.Id ?? "").IndexOf(criteria.Id ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                         (x.CurrencyName ?? "").IndexOf(criteria.CurrencyName ?? "", StringComparison.OrdinalIgnoreCase) > -1);
            }
            else
            {
                query = (x => (x.Id ?? "").IndexOf(criteria.Id ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                         (x.CurrencyName ?? "").IndexOf(criteria.CurrencyName ?? "", StringComparison.OrdinalIgnoreCase) > -1);
            }
            return(Get(query));
        }
        public IQueryable <CatCurrencyModel> Paging(CatCurrrencyCriteria criteria, int pageNumber, int pageSize, out int rowsCount)
        {
            Expression <Func <CatCurrencyModel, bool> > query;

            if (criteria.All == null)
            {
                query = (x => (x.Id ?? "").IndexOf(criteria.Id ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                         (x.CurrencyName ?? "").IndexOf(criteria.CurrencyName ?? "", StringComparison.OrdinalIgnoreCase) > -1);
            }
            else
            {
                query = (x => (x.Id ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 ||
                         (x.CurrencyName ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1);
            }
            var data = Paging(query, pageNumber, pageSize, x => x.DatetimeModified, false, out rowsCount);

            return(data);
        }
        public IActionResult Get(CatCurrrencyCriteria criteria)
        {
            var data = catCurrencyService.Query(criteria);

            return(Ok(data));
        }
 public IQueryable <CatCurrencyModel> Query(CatCurrrencyCriteria criteria)
 {
     return(GetBy(criteria));
 }