コード例 #1
0
        public ActionResult Filter(OrderFilterViewModel orderFilterViewModel)
        {
            TempData["productTypeId"] = orderFilterViewModel.ProductTypeId;
            TempData["restaurantId"] = orderFilterViewModel.RestaurantId;

            return RedirectToAction("Filter");
        }
コード例 #2
0
        //
        // GET: /OrderPaids/
        public ViewResult Filter()
        {
            Guid? productTypeId = null;
            Guid? restaurantId = null;

            if (TempData["productTypeId"] != null)
            {
                productTypeId = TempData["productTypeId"] as Guid?;
            }

            if (TempData["restaurantId"] != null)
            {
                restaurantId = TempData["restaurantId"] as Guid?;
            }

            var query = orderpaidRepository.AllIncluding(orderpaid => orderpaid.Waiter, orderpaid => orderpaid.Restaurant, orderpaid => orderpaid.Menus);

            var vm = new OrderFilterViewModel();

            if (restaurantId.HasValue)
            {
                vm.RestaurantId = restaurantId.Value;
                query = query.Where(p => p.RestaurantId == restaurantId.Value);
            }

            if (productTypeId.HasValue)
            {
                vm.ProductTypeId = productTypeId.Value;
                query = query.Where(p => p.Menus.Count(m => m.ProductTypeId == productTypeId.Value) > 0);
            }

            vm.Orders = query;

            ViewBag.PossibleRestaurants = restaurantRepository.All;
            ViewBag.PossibleProductTypes = producttypeRepository.All;

            return View(vm);
        }