/// <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
            }));
        }
Example #2
0
        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);
        }