コード例 #1
0
        public ProductoWithCategoriaSpecification(ProductoSpecificationParams productoParams)
            : base(x =>
                   (string.IsNullOrEmpty(productoParams.Search) || x.Nombre.Contains(productoParams.Search)) &&
                   (!productoParams.Categoria.HasValue || x.CategoriaId == productoParams.Categoria))
        {
            AddInclude(p => p.Categoria);


            //ApplyPaging(0,5)
            ApplyPaging(productoParams.PageSize * (productoParams.PageIndex - 1), productoParams.PageSize);
            if (!string.IsNullOrEmpty(productoParams.Sort))
            {
                switch (productoParams.Sort)
                {
                case "NombreAsc":
                    AddOrderBy(p => p.Nombre);
                    break;

                case "NombreDesc":
                    AddOrderByDescending(p => p.Nombre);
                    break;

                case "precioAsc":
                    AddOrderBy(p => p.Precio);
                    break;

                case "precioDesc":
                    AddOrderByDescending(p => p.Precio);
                    break;

                case "descripcionAsc":
                    AddOrderBy(p => p.Descripcion);
                    break;

                case "descripcionDesc":
                    AddOrderByDescending(p => p.Descripcion);
                    break;

                default:
                    AddOrderBy(p => p.Nombre);
                    break;
                }
            }
        }
コード例 #2
0
 public ProductoForCountingSpecification(ProductoSpecificationParams productoParams)
     : base(x =>
            (string.IsNullOrEmpty(productoParams.Search) || x.Nombre.Contains(productoParams.Search)) &&
            (!productoParams.Categoria.HasValue || x.CategoriaId == productoParams.Categoria))
 {
 }