Пример #1
0
        public ActionResult Edit(int id, LunchCreateEditViewModel lunchCredteEditViewModel)
        {
            // todo: validate lunch-creator can edit a lunch
            var selectedRestaurants = lunchCredteEditViewModel.Restaurants.Where(r => r.IsChecked).Select(r => r.ID).ToList();

            var lunch = _context
                        .Lunches
                        .Include(l => l.Restaurants)
                        .First(l => l.Id == id);

            if (ModelState.IsValid)
            {
                lunch.Host        = lunchCredteEditViewModel.Host;
                lunch.MeetingTime = lunchCredteEditViewModel.MeetingTime;

                foreach (var restaurantId in selectedRestaurants)
                {
                    var restaurant = _context.Restaurants.Find(restaurantId);
                    lunch.Restaurants.Add(restaurant);
                }

                _context.Entry(lunch).State = EntityState.Modified;
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }


            return(View("Edit", lunchCredteEditViewModel));
        }
Пример #2
0
        public ActionResult Create(LunchCreateEditViewModel lunchCreateEditViewModel)
        {
            var selectedRestaurants = lunchCreateEditViewModel.Restaurants.Where(r => r.IsChecked).Select(r => r.ID).ToList();

            if (ModelState.IsValid)
            {
                var lunch = new Lunch()
                {
                    Host        = lunchCreateEditViewModel.Host,
                    MeetingTime = lunchCreateEditViewModel.MeetingTime
                };

                foreach (var restaurantId in selectedRestaurants)
                {
                    var restaurant = _context.Restaurants.Find(restaurantId);
                    lunch.Restaurants.Add(restaurant);
                }

                _context.Lunches.Add(lunch);
                _context.SaveChanges();

                return(RedirectToAction("Index"));
            }


            return(View("Create", lunchCreateEditViewModel));
        }
Пример #3
0
        // GET: Lunches/Create
        public ActionResult Create()
        {
            // todo: validate only signed-in PPA user can create a lunch
            var lunchCreateEditViewModel = new LunchCreateEditViewModel();

            var allRestaurants = _context.Restaurants.ToList();

            var checkBoxListItems = allRestaurants.Select(restaurant => new CheckBoxListItem()
            {
                ID        = restaurant.Id,
                Display   = restaurant.Name,
                IsChecked = false
            })
                                    .OrderBy(r => r.Display)
                                    .ToList();

            lunchCreateEditViewModel.Restaurants = checkBoxListItems;

            return(View("Create", lunchCreateEditViewModel));
        }
Пример #4
0
        // GET: Lunches/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var lunch = _context.Lunches.Find(id);

            if (lunch == null)
            {
                return(new HttpNotFoundResult());
            }

            lunch = _context
                    .Lunches
                    .Include(l => l.Restaurants)
                    .First(l => l.Id == id);


            var lunchCreateEditViewModel = new LunchCreateEditViewModel
            {
                Host        = lunch.Host,
                MeetingTime = lunch.MeetingTime,
            };

            var lunchRestaurants = lunch.Restaurants;

            var allRestaurants    = _context.Restaurants.ToList();
            var checkBoxListItems = allRestaurants.Select(restaurant => new CheckBoxListItem
            {
                ID        = restaurant.Id,
                Display   = restaurant.Name,
                IsChecked = lunchRestaurants.Any(r => r.Id == restaurant.Id)
            }).ToList();


            lunchCreateEditViewModel.Restaurants = checkBoxListItems;
            return(View("Edit", lunchCreateEditViewModel));
        }