public List <DTOCategoria> GetBySearcher(DTOCategoriaSearcher searcher) { //var predicate = PredicateBuilder.True<tabCategorie>(); //predicate = predicate.And(x => !x.isDeleted); //if(searcher.PartialNomeProprieta.) if (searcher == null) { searcher = new DTOCategoriaSearcher(); } var predicate = BaseEntityPredicateBuilder.GetBasicPredicate <tabCategorie>(searcher); if (!string.IsNullOrEmpty(searcher.PartialNomeCategoria)) { predicate = predicate.And(x => x.Nome.Contains(searcher.PartialNomeCategoria)); } else { predicate = predicate.And(x => !x.IdCategoriaPadre.HasValue || x.IdCategoriaPadre.Value == x.ID); } var lst = new List <DTOCategoria>(); foreach (var dato in _context.tabCategorie.Where(predicate).ToList()) { lst.Add(mapTable(dato, true, false)); } var newLst = new DTOCategoria(); CreateTreeFromList(lst, newLst); return(newLst.CategorieFiglie); }
public List <DTOProdotto> GetBySearcher(DTOProdottoSearch searcher) { var predicate = BaseEntityPredicateBuilder.GetBasicPredicate <tabProdotti>(searcher); if (!string.IsNullOrEmpty(searcher.PartialDescription)) { predicate = predicate.And( x => x.Descrizione.Contains(searcher.PartialDescription) || x.DescrizioneBreve.Contains(searcher.PartialDescription)); } if (!string.IsNullOrEmpty(searcher.PartialCategoria)) { predicate = predicate.And(x => x.Categoria.Nome.Contains(searcher.PartialCategoria)); } if (!string.IsNullOrEmpty(searcher.PartialSKU)) { ; } //todo: SKU è associato ai prodotti di listino return(GetByContition(predicate)); }