示例#1
0
        // GET: Companies
        public ActionResult Index(string sortColumn, string sortOrder, string nextpage, string currentFilter, string searchString, int?page)
        {
            ViewBag.CurrentSort = sortColumn;
            ViewBag.SortOrder   = sortOrder;

            if (nextpage == null)
            {
                sortOrder = sortOrder == "asc" ? "desc" : "asc";
            }
            //ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            //ViewBag.AddressSortParm = String.IsNullOrEmpty(sortOrder) ? "address_desc" : "";
            //ViewBag.ContactPSortParm = String.IsNullOrEmpty(sortOrder) ? "contactp_desc" : "";
            //ViewBag.ContactNSortParm = String.IsNullOrEmpty(sortOrder) ? "contactn_desc" : "";
            //ViewBag.ActiveSortParm = String.IsNullOrEmpty(sortOrder) ? "active_desc" : "";
            //ViewBag.PrefixSortParm = String.IsNullOrEmpty(sortOrder) ? "prefix_desc" : "";

            //Paging
            //if (searchString != null)
            //{
            //    page = 1;
            //}
            //else
            //{
            //    searchString = currentFilter;
            //}
            ViewBag.CurrentFilter = searchString;

            IQueryable <Company> companies = companyRepo.List();

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

            ////Sorting the table for companies
            //switch (sortOrder)
            //{
            //    case "name_desc":
            //        companies = companies.OrderByDescending(c => c.Name);
            //        break;
            //    case "address_desc":
            //        companies = companies.OrderByDescending(c => c.Address);
            //        break;
            //    case "contactp_desc":
            //        companies = companies.OrderByDescending(c => c.ContactPerson);
            //        break;
            //    case "contactn_desc":
            //        companies = companies.OrderByDescending(c => c.ContactNo);
            //        break;
            //    case "active_desc":
            //        companies = companies.OrderByDescending(c => c.Active);
            //        break;
            //    case "prefix_desc":
            //        companies = companies.OrderByDescending(c => c.Prefix);
            //        break;
            //    default:
            //        companies = companies.OrderBy(c => c.Name);
            //        break;
            //}
            if (String.IsNullOrEmpty(sortColumn))
            {
                companies = companies.OrderByDescending(c => c.Id);
            }
            else
            {
                companies = companies.OrderBy(sortColumn + " " + sortOrder);
            }

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

            return(View(companies.ToPagedList(pageNumber, pageSize)));
            //return View(db.Companies.ToList());
        }
示例#2
0
        public PartialViewResult MenuList()
        {
            List <Company> lstCompany = companyRepo.List().ToList();

            return(PartialView(lstCompany));
        }