예제 #1
0
        public ViewResult Show(string sortOrder, string currentFilter, string searchString, int?page)
        {
            ViewBag.CurrentSort  = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";

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

            ViewBag.CurrentFilter = searchString;

            List <Promotion> promotions = promotionManager.GetAll().ToList();

            var promotion = from s in promotions
                            select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                promotion = promotion.Where(s => s.PromotionFor.Contains(searchString));
            }
            switch (sortOrder)
            {
            case "name_desc":
                promotion = promotion.OrderByDescending(s => s.PromotionFor);
                break;

            default:      // Name ascending
                promotion = promotion.OrderBy(s => s.PromotionFor);
                break;
            }

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

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