Esempio n. 1
0
        public SearchResult <DataSetItemModel> Search(DataSetItemSearchModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            return(new SearchResult <DataSetItemModel> {
                Total = Count(SearchPredicate(model)),
                Items = GetListNoTracking(
                    SearchPredicate(model),
                    orderBys: string.Equals(model.Direction, "asc", StringComparison.InvariantCultureIgnoreCase) ? AscendingOrderBys(model.Sort) : DescendingOrderBys(model.Sort),
                    skip: model.Skip,
                    take: model.Limit)
            });
        }
Esempio n. 2
0
        private static Expression <Func <DataSetItem, bool> > SearchPredicate(DataSetItemSearchModel model)
        {
            Expression <Func <DataSetItem, bool> > predicate = a => true;

            if (model == null)
            {
                return(predicate);
            }

            predicate = predicate.And(x => x.DataSetId == model.DataSetId && x.DataSetType == model.DataSetType);

            if (!string.IsNullOrEmpty(model.Query))
            {
                predicate = predicate.And(x =>
                                          x.District.Contains(model.Query) ||
                                          x.ProductType.Contains(model.Query));
            }

            return(predicate);
        }
Esempio n. 3
0
 public IActionResult Search([FromBody] DataSetItemSearchModel model)
 {
     return(Ok(_dataSetItemService.Search(model).Items));
 }