// for display datatable public ActionResult GetProducts(DataTableParamModel param) { var products = _db.Products.ToList(); var viewProducts = products.Select(pro => new ProductTableModels() { ProductId = Convert.ToString(pro.ProductId), Name = pro.Name, Price = Convert.ToString(pro.Price), CategoryId = pro.Category == null ? null : Convert.ToString(pro.Category.CategoryId), CategoryName = pro.Category == null ? null : pro.Category.Name }); IEnumerable<ProductTableModels> filteredProducts; if (!string.IsNullOrEmpty(param.sSearch)) { filteredProducts = viewProducts.Where(pro => (pro.Name ?? "").Contains(param.sSearch) || (pro.Price ?? "").Contains(param.sSearch) || (pro.CategoryName ?? "").Contains(param.sSearch)).ToList(); } else { filteredProducts = viewProducts; } var viewOdjects = filteredProducts.Skip(param.iDisplayStart).Take(param.iDisplayLength); var result = from proMdl in viewOdjects select new[] { proMdl.ProductId, proMdl.Name, proMdl.Price, proMdl.CategoryId, proMdl.CategoryName }; return Json(new { sEcho = param.sEcho, iTotalRecords = products.Count(), iTotalDisplayRecords = filteredProducts.Count(), aaData = result }, JsonRequestBehavior.AllowGet); }
// for display datatable public ActionResult GetCategories(DataTableParamModel param) { var categories = _db.Categories.ToList(); var viewProducts = categories.Select(cat => new CategoryTableModels() { CategoryId = Convert.ToString(cat.CategoryId), Name = cat.Name }); IEnumerable<CategoryTableModels> filteredProducts; if (!string.IsNullOrEmpty(param.sSearch)) { filteredProducts = viewProducts.Where(cat => (cat.Name ?? "").Contains(param.sSearch)).ToList(); } else { filteredProducts = viewProducts; } var viewOdjects = filteredProducts.Skip(param.iDisplayStart).Take(param.iDisplayLength); var result = from catMdl in viewOdjects select new[] { catMdl.CategoryId, catMdl.Name }; return Json(new { sEcho = param.sEcho, iTotalRecords = categories.Count(), iTotalDisplayRecords = filteredProducts.Count(), aaData = result }, JsonRequestBehavior.AllowGet); }