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()); }
public IActionResult Search([FromBody] SearchItemDto model) { var result = _itemService.Search(model); return(Response(result)); }