Esempio n. 1
0
        public async Task <IActionResult> AddPeople(AddPeopleToBookingViewModel model)
        {
            model.NumberOfPeople = model.PeopleToAdd.Count();

            if (ModelState.IsValid)
            {
                //gets the booking from the database
                var booking = await _context.Bookings.FindAsync(model.BookingId);

                //convert IList to List as it can be casted as IEnumerable
                booking.Persons = model.PeopleToAdd.ToList();

                //update special requirements
                booking.SpecialRequirements = model.SpecialRequirements;

                //update the database
                foreach (var person in booking.Persons)
                {
                    _context.Persons.Add(person);
                }
                await _context.SaveChangesAsync();

                //redirect to Confirmation page
                return(RedirectToAction(nameof(BookingController.Confirmation), "Booking", new { bookingId = model.BookingId }));
            }

            //on fail, return view
            model.NumberOfPeople = model.PeopleToAdd.Count();
            model.ErrorMessage   = "Insuffiecent Details";
            return(View(model));
        }
Esempio n. 2
0
        public ActionResult AddPeople(int?bookingId, int?numberOfPeople)
        {
            //if bookingId is null, redirect to browse brochures page
            if (bookingId == null)
            {
                return(RedirectToAction(nameof(BrochureController.Browse), "Booking"));
            }

            List <Person> peopleToAdd = new List <Person>();

            for (int i = 0; i < numberOfPeople; i++)
            {
                peopleToAdd.Add(new Person
                {
                    Forename    = "",
                    MiddleNames = "",
                    Surname     = "",
                    DateOfBirth = DateTime.Now
                });
            }

            //populate the model and inject into the page
            AddPeopleToBookingViewModel model = new AddPeopleToBookingViewModel
            {
                BookingId           = (int)bookingId,
                NumberOfPeople      = (int)numberOfPeople,
                PeopleToAdd         = peopleToAdd,
                SpecialRequirements = "",
                ErrorMessage        = ""
            };

            return(View(model));
        }