public IEnumerable GetProducts()

in src/app/ContosoTraders.Api.Core/Services/Implementations/ProductService.cs [51:71]


    public IEnumerable<ProductDto> GetProducts(string searchTerm)
    {
        searchTerm = searchTerm.ToLower();

        var allTypes = _productRepository.Types.ToArray();

        var allFeatures = _productRepository.Features.ToArray();

        var responseDaos = _productRepository.Products.AsEnumerable()
            .Where(product => searchTerm.Split(' ', StringSplitOptions.RemoveEmptyEntries)
                .Any(term =>
                    product.Name.ToLower().Contains(term) ||
                    allTypes.FirstOrDefault(type => type.Id == product.TypeId).Name.ToLower().Contains(term) ||
                    allFeatures.Where(feature => feature.ProductItemId == product.Id)
                        .Any(item => item.Description.Contains(term))));

        var responseDtos = responseDaos.ToArray()
            .Select(dao => CustomMapping(dao, null, allTypes, null));

        return responseDtos;
    }