/// <summary> /// Get records for datatable /// </summary> /// <param name="param"></param> /// <returns></returns> //[HttpPost] public async Task <ActionResult> GetList(JqueryDatatableParam param) { ProductDatatable productDatatable = new ProductDatatable(); try { ProductListFilter model = new ProductListFilter { Start = param.Start, Length = param.Length, Search = param.Search.Value, SortColumn = Convert.ToString(param.Columns[param.Order[0].Column].Data), SortOrder = Convert.ToString(param.Order[0].Dir) }; ResJsonOutput result = await PostDataAsync("/API/Products/GetProductList", model); if (result.Status.IsSuccess) { productDatatable = Utility.ConvertJsonToObject <ProductDatatable>(result.Data); } } catch (Exception ex) { throw; } return(Json(new { draw = param.Draw, data = productDatatable.Products, recordsFiltered = productDatatable.TotalRecords, recordsTotal = productDatatable.TotalDisplayRecord })); }
public ActionResult <ResJsonOutput> GetProductList([FromBody] ProductListFilter param) { ResJsonOutput result = new ResJsonOutput(); try { ProductDatatable productDatatable = new ProductDatatable(); List <Product> list = product.GetAll().ToList(); if (list != null && list.Count() > 0) { productDatatable.TotalDisplayRecord = productDatatable.TotalRecords = list.Count(); if (!string.IsNullOrEmpty(param.Search)) { list = list.Where(x => x.ProductName.ToLower().Contains(param.Search.ToLower()) || x.ProductPrice.ToString().ToLower().Contains(param.Search.ToLower()) ).ToList(); productDatatable.TotalRecords = productDatatable.TotalDisplayRecord = list.Count(); } list = SortedDataByColumn(list, param.SortColumn, param.SortOrder); list = list.Skip(param.Start).Take(param.Length).ToList(); } productDatatable.Products = list; result.Data = productDatatable; result.Status.IsSuccess = true; } catch (Exception ex) { result = GetException(ex); } return(result); }