public List <ItemBasicViewModel> Filter(ItemFilterModel model)
        {
            var items = m_Context.Items.AsQueryable();

            if (model != null)
            {
                if (!string.IsNullOrEmpty(model.S_Manufacturer))
                {
                    items = items.Where(x => x.Manufacturer.Contains(model.S_Manufacturer));
                }
                if (!string.IsNullOrEmpty(model.S_Model))
                {
                    items = items.Where(x => x.ModelName.Contains(model.S_Model));
                }
                if (!string.IsNullOrEmpty(model.S_Avaible))
                {
                    items = items.Where(x => x.Avaiable.Contains(model.S_Avaible));
                }
                if (!string.IsNullOrEmpty(model.S_CategoryID))
                {
                    int CategoryID = Int32.Parse(model.S_CategoryID);
                    items = items.Where(x => x.CategoryID == CategoryID);
                }
            }
            return(_mapper.Map <List <ItemBasicViewModel> >(items.ToList()));
        }
示例#2
0
        public ActionResult <DataPage <ItemInfo> > GetItems(
            [FromRoute] string database,
            [FromQuery] ItemFilterModel filter)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ICadmusRepository repository =
                _repositoryProvider.CreateRepository(database);
            DataPage <ItemInfo> page = repository.GetItems(new ItemFilter
            {
                PageNumber  = filter.PageNumber,
                PageSize    = filter.PageSize,
                Title       = filter.Title,
                Description = filter.Description,
                FacetId     = filter.FacetId,
                GroupId     = filter.GroupId,
                Flags       = filter.Flags,
                MinModified = filter.MinModified,
                MaxModified = filter.MaxModified,
                UserId      = filter.UserId
            });

            return(Ok(page));
        }
        public ActionResult Index(ItemFilterModel filterModel)
        {
            ItemIndexViewModel model = new ItemIndexViewModel()
            {
                ItemList    = filterModel.IsFiltered ? _itemService.Filter(filterModel).ToPagedList() : _itemService.GetAll().ToPagedList(1, PAGE_SIZE),
                FilterModel = filterModel,
            };

            return(View(GetIndexViewModel(model)));
        }
示例#4
0
 public async Task <ActionResult <IEnumerable <ItemModel> > > Search([FromBody] ItemFilterModel filter)
 {
     var filteredItems = filter switch
     {
         { TagFilter : { Tags : { Count : > 0 } } } => GetItemsByTagFilter(filter.TagFilter),