Esempio n. 1
0
        public List <ProductModels> MapProduct()
        {
            lock (obj)
            {
                var productList  = db.Product.ToList();
                var category     = db.Category.ToList();
                var subcategoria = db.SubCategory.ToList();

                return(MapperObject.CreateProductList(productList, category, subcategoria));
            }
        }
        public List <ProductModels> GetProduct(int?page, int?limit, string sortBy, string direction, string searchString, out int total)
        {
            var productList      = db.Product.ToList();
            var categoriaList    = db.Category.ToList();
            var subCategoriaList = db.SubCategory.ToList();
            var tamanoList       = db.TamanoMascota.ToList();

            var product = MapperObject.CreateProductList(productList, categoriaList, subCategoriaList, tamanoList);

            if (!string.IsNullOrWhiteSpace(searchString))
            {
                product = product.Where(p => p.Descripcion1.Contains(searchString) || p.Codigo.ToString().Contains(searchString)).ToList();
            }

            total = product.Count();

            var productQueryable = product.AsQueryable();

            if (!string.IsNullOrEmpty(sortBy) && !string.IsNullOrEmpty(direction))
            {
                if (direction.Trim().ToLower() == "asc")
                {
                    productQueryable = SortHelper.OrderBy(productQueryable, sortBy);
                }
                else
                {
                    productQueryable = SortHelper.OrderByDescending(productQueryable, sortBy);
                }
            }

            if (page.HasValue && limit.HasValue)
            {
                int start = (page.Value - 1) * limit.Value;
                productQueryable = productQueryable.Skip(start).Take(limit.Value);
            }

            return(productQueryable.ToList());
        }