Exemplo n.º 1
0
        public IEnumerable <ViewItemDto> Search(SearchItemDto query)
        {
            var result = _itemRepository.GetAllAsNoTracking();

            if (query.CategoryId == 0)
            {
                return(result.ProjectTo <ViewItemDto>());
            }
            result = result.Where(x => x.Category.Id == query.CategoryId);

            foreach (var field in query.Fields)
            {
                if (!string.IsNullOrEmpty(field.FieldQuery))
                {
                    result = result.Where(x =>
                                          x.ItemValues.Any(
                                              j => j.FieldValue.ToLower().StartsWith(field.FieldQuery.ToLower()) && j.Field.Id == field.FieldId));
                }
            }
            return(result.ProjectTo <ViewItemDto>().ToList());
        }
Exemplo n.º 2
0
        public IActionResult Search([FromBody] SearchItemDto model)
        {
            var result = _itemService.Search(model);

            return(Response(result));
        }