Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }