Exemple #1
0
        public async Task <SearchResult <ProductOptionTariff> > Search(ProductOptionTariffSearchPattern searchPattern)
        {
            IQueryable <ProductOptionTariff> query = _ctx.ProductOptionTariffs.AsQueryable();
            int totalCount = query.Count();

            // filters
            if (!String.IsNullOrWhiteSpace(searchPattern.SearchString))
            {
                string searchString = searchPattern.SearchString.Trim();
                query = query.Where(x =>
                                    x.Name.Contains(searchString));
            }

            // sorting
            query = query.OrderByDescending(x => x.Id);

            int filteredCount = query.Count();

            // taking
            query = query.Skip(searchPattern.Skip()).Take(searchPattern.Take());

            return(new SearchResult <ProductOptionTariff>
            {
                Items = await query.ToListAsync(),
                TotalCount = totalCount,
                FilteredCount = filteredCount
            });
        }
        public async Task <IActionResult> Search(int pageNumber, int onPage, string searchString)
        {
            var abc = new ProductOptionTariffSearchPattern
            {
                PageNumber   = pageNumber,
                OnPage       = onPage,
                SearchString = searchString
            };
            SearchResult <ProductOptionTariff> searchResult = await productOptionTariffRepository.Search(abc);

            return(Ok(new SearchResult <ProductOptionTariffDto>
            {
                Items = searchResult.Items.Map(),
                TotalCount = searchResult.TotalCount,
                FilteredCount = searchResult.FilteredCount
            }));
        }