Example #1
0
        public ActionResult Index(string sortColumn, string sortOrder, string currentFilter, string searchString, int?page)
        {
            ViewBag.CurrentSort = sortColumn;
            ViewBag.SortOrder   = sortOrder == "asc" ? "desc" : "asc";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;

            IQueryable <Vendor> lstVendor = vendorRepo.List();

            if (!String.IsNullOrEmpty(searchString))
            {
                lstVendor = lstVendor.Where(s => s.Name.Contains(searchString) ||
                                            s.Address.Contains(searchString) ||
                                            s.ContactPerson.ToString().Contains(searchString) ||
                                            s.ContactNo.Contains(searchString) ||
                                            s.Terms.ToString().Contains(searchString));
            }

            if (String.IsNullOrEmpty(sortColumn))
            {
                lstVendor = lstVendor.OrderByDescending(p => p.Id);
            }
            else
            {
                lstVendor = lstVendor.OrderBy(sortColumn + " " + sortOrder);
            }

            int pageSize   = 10;
            int pageNumber = (page ?? 1);

            return(View(lstVendor.ToPagedList(pageNumber, pageSize)));
        }