コード例 #1
0
        public async Task <ActionResult> Index(RestaurantListRequestModel request)
        {
            if (request == null)
            {
                //Log Message about invalid request
                return(View("BadRequest"));
            }


            var list = !string.IsNullOrWhiteSpace(request.Outcode)
                ? await _restaurantService.GetRestaurants(request.Outcode)
                : new List <Restaurant>();

            var restaurantViewModels = new List <RestaurantViewModel>();

            if (list != null && list.Any())
            {
                list = OrderList(request.OrderBy, request.OrderByDescending, list);
                restaurantViewModels = list.Select(RestaurantViewModel.Create).ToList();
            }

            var model = RestaurantListViewModel.Create(restaurantViewModels, request.Outcode,
                                                       request.OrderByDescending);

            return(View(model));
        }
コード例 #2
0
        private RestaurantListViewModel GetListViewModel(IList <Restaurant> restaurants)
        {
            var listViewModel = new RestaurantListViewModel();

            listViewModel.Load(restaurants);
            return(listViewModel);
        }
コード例 #3
0
        public ActionResult Index(
            string searchTerm      = null,
            int withReviewsPage    = 0,
            int withoutReviewsPage = 0)
        {
            Boolean withReviewsChanged    = false;
            Boolean withoutReviewsChanged = false;

            if (withReviewsPage != 0)
            {
                Session["WithReviewsPage"] = withReviewsPage;
                withReviewsChanged         = true;
            }

            if (withoutReviewsPage != 0)
            {
                Session["WithoutReviewsPage"] = withoutReviewsPage;
                withoutReviewsChanged         = true;
            }

            if (searchTerm != null || Session["SearchTerm"] == null)
            {
                Session["withReviewsPage"] = 1;
                withReviewsChanged         = true;

                Session["withoutReviewsPage"] = 1;
                withoutReviewsChanged         = true;
            }

            if (searchTerm != null)
            {
                Session["SearchTerm"] = searchTerm;
            }
            else if (Session["SearchTerm"] == null)
            {
                Session["SearchTerm"] = "";
            }

            ListWithReviewsViewModel    reviewsModel        = new ListWithReviewsViewModel((string)Session["SearchTerm"], (int)Session["withReviewsPage"]);
            ListWithoutReviewsViewModel withoutReviewsModel = new ListWithoutReviewsViewModel((string)Session["SearchTerm"], (int)Session["withoutReviewsPage"]);
            RestaurantListViewModel     model = new RestaurantListViewModel();

            model.withReviews    = reviewsModel.restaurantsWithReviews;
            model.withoutReviews = withoutReviewsModel.restaurantsWithoutReviews;

            ViewBag.RouteData = RouteData.Values;

            if (Request.IsAjaxRequest() && withReviewsChanged)
            {
                return(PartialView("_WithReviewsList", model.withReviews));
            }

            if (Request.IsAjaxRequest() && withoutReviewsChanged)
            {
                return(PartialView("_WithoutReviewsList", model.withoutReviews));
            }

            return(View(model));
        }
コード例 #4
0
        // GET: Restaurants
        public ActionResult Index()
        {
            RestaurantsRepositories repository = new RestaurantsRepositories();
            RestaurantListViewModel model      = new RestaurantListViewModel();

            model.Restaurants = repository.GetAll().ToList();
            return(View(model));
        }
コード例 #5
0
        public ActionResult Create(RestaurantListViewModel restaurant)
        {
            Restaurant newRestaurant;

            if (ModelState.IsValid)
            {
                newRestaurant = AutoMapper.Mapper.Map <RestaurantListViewModel, Restaurant>(restaurant);
                _db.Restaurants.Add(newRestaurant);
                _db.SaveChanges();
                return(RedirectToAction("Index", "Restaurant"));
            }
            HttpContext.Response.StatusCode = 500;
            return(PartialView("_CreateRestaurant", restaurant));
        }
コード例 #6
0
        public ActionResult RestaurantList()
        {
            //Create Map
            var config = new MapperConfiguration(cfg => cfg.CreateMap <Restaurant, RestaurantListViewModel>());
            var mapper = config.CreateMapper();
            //Copy values
            List <RestaurantListViewModel> viewModelsList = new List <RestaurantListViewModel>();

            foreach (Restaurant restaurant in _restaurantRepository.GetAll())
            {
                RestaurantListViewModel restaurantListViewModel = mapper.Map <RestaurantListViewModel>(restaurant);
                viewModelsList.Add(restaurantListViewModel);
            }
            return(View(viewModelsList));
        }
コード例 #7
0
        public RestaurantListViewModel GetRestaurantList([FromUri] RestaurantListParameters param)
        {
            var mapConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <RestaurantListParameters, RestaurantListInfoModel>();
            });
            var mapper = mapConfig.CreateMapper();
            RestaurantListInfoModel restaurantListIM = mapper.Map <RestaurantListInfoModel>(param);

            RestaurantListViewModel vm = new RestaurantListViewModel();
            var rm = _restaurantService.GetRestaurantList(restaurantListIM);

            vm.RestaurantList = rm;

            return(vm);
        }
コード例 #8
0
        public async Task <IActionResult> Index(int productPage = 1, string searchByRestaurant = null, string searchByCity = null)
        {
            var(restaurants, restaurantsCount) = await _restaurantService.GetFiltered(searchByRestaurant, searchByCity, PageSize, productPage);

            var restaurantListVM = new RestaurantListViewModel()
            {
                Restaurants = restaurants
            };

            const string Url = "/Admin/Restaurant/Index?productPage=:";

            restaurantListVM.PagingInfo = new PagingInfo
            {
                CurrentPage  = productPage,
                ItemsPerPage = PageSize,
                TotalItem    = restaurantsCount,
                UrlParam     = Url
            };

            return(View(restaurantListVM));
        }
コード例 #9
0
        public ActionResult Index()
        {
            using (var lunchContext = new LunchContext())
            {
                var restaurantList = new RestaurantListViewModel
                {
                    //Convert each Restaurant to a RestaurantViewModel
                    Restaurants = lunchContext.Restaurants.Select(r => new RestaurantViewModel
                    {
                        RestaurantId = r.RestaurantId,
                        Name         = r.Name,
                        Cuisine      = new CuisineViewModel
                        {
                            CuisineId = r.CuisineId,
                            Name      = r.Name
                        }
                    }).ToList()
                };

                restaurantList.TotalRestaurants = restaurantList.Restaurants.Count;

                return(View(restaurantList));
            }
        }
コード例 #10
0
 public RestaurantListPage()
 {
     _viewModel = new RestaurantListViewModel(Navigation);
     InitializeComponent();
     this.BindingContext = _viewModel;
 }