private static IEnumerable <InvoiceCategoryModel> SearchCategories(
            GetInvoiceCategoryByFilter invoiceCategoryFilter,
            IEnumerable <InvoiceCategoryModel> categories)
        {
            var invoiceCategories = new List <InvoiceCategoryModel>();

            if (null == categories)
            {
                return(invoiceCategories);
            }

            var result = categories.Select(c => new InvoiceCategoryModel
            {
                Id             = c.Id,
                Name           = c.Name,
                RootCategoryId = c.RootCategoryId,
                Products       = c.Products.Where(p =>
                                                  p.ProductName.ToUpper().Contains(invoiceCategoryFilter.Filter.ToUpper()) ||
                                                  p.Sku == invoiceCategoryFilter.Filter).ToList()
            });

            if (null != result && result.Any())
            {
                return(result.Where(r => r.Products.Any()));
            }
            return(invoiceCategories);
        }
        public IEnumerable <InvoiceCategoryModel> SearchCategories(GetInvoiceCategoryByFilter invoiceCategoryFilter)
        {
            if (null == invoiceCategoryFilter)
            {
                return(new List <InvoiceCategoryModel>());
            }

            var categories = GetCategories(invoiceCategoryFilter.RootCategoryId, invoiceCategoryFilter.Locale, !string.IsNullOrEmpty(invoiceCategoryFilter.Type) && invoiceCategoryFilter.Type.ToUpper() == "CUSTOMER");

            return(SearchCategories(invoiceCategoryFilter, categories));
        }
Ejemplo n.º 3
0
 public IEnumerable <InvoiceCategoryModel> SearchCategories(GetInvoiceCategoryByFilter invoiceCategoryFilter)
 {
     invoiceCategoryFilter.Locale = CultureInfo.CurrentUICulture.Name;
     return(_invoiceCatalogProvider.SearchCategories(invoiceCategoryFilter));
 }