public QueryResult QueryGrade(QueryGrade query)
 {
     throw new NotImplementedException();
 }
        public ActionResult ListGrades(bool? showInactive, Guid? commodity, int page=1, int itemsperpage=10,string srchParam="")
        {
            Guid commodityId = new Guid();

            if (commodity.Value != null)
            {
                ViewBag.CommodityId = commodity.Value;
                commodityId = commodity.Value;
            }

            if (TempData["msg"] != null)
            {
                ViewBag.msg = TempData["msg"].ToString();
                TempData["msg"] = null;
            }

            try
            {
                if (itemsperpage != null)
                {
                    ViewModelBase.ItemsPerPage = itemsperpage;
                }
                bool showinactive = false;
                if (showInactive != null)
                    showinactive = (bool)showInactive;
                ViewBag.showInactive = showinactive;
                ViewBag.srchParam = srchParam;
                int currentPageIndex = page - 1 < 0 ? 0 : page - 1;
                int take = itemsperpage;
                int skip = currentPageIndex*take;

                var query = new QueryGrade
                    {
                        Name = srchParam,
                        CommodityId = commodity.Value,
                        ShowInactive = showinactive,
                        Take = take,
                        Skip = skip
                    };

                var ls = _commodityViewModelBuilder.Search(commodityId, srchParam, showinactive);
                //var ls = _commodityViewModelBuilder.QueryGrade(query);

                //int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
                return View(ls.ToPagedList(currentPageIndex,  ViewModelBase.ItemsPerPage));
            }
            catch (Exception ex)
            {
                ViewBag.msg = ex.Message;
                return View();
            }
        }