public ActionResult Index(int page     = 1,
                                  int pageSize = 10,
                                  int vendorId = -1,
                                  PaymentStatus paymentStatus = PaymentStatus.All,
                                  DateTime?fromDate           = null,
                                  DateTime?toDate             = null)
        {
            var orders = _service.GetPurchaseOrders(page, pageSize, vendorId, paymentStatus, fromDate, toDate)
                         .OrderByDescending(x => x.Created)
                         .ToPagedList(page, pageSize);

            // set the ViewBag values
            ViewBag.FromDate      = fromDate;
            ViewBag.ToDate        = toDate;
            ViewBag.PaymentStatus = paymentStatus;

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_LoadPagedPurchaseOrders", orders));
            }

            return(View(orders));
        }