public IActionResult ReservationVehicleSetup()
        {
            var availableVehicles     = _vehicleRepository.GetAllAvailableVehicles();
            var vehicleSetupViewModel = new ReservationVehicleViewModel(availableVehicles);

            return(View(vehicleSetupViewModel));
        }
 public IActionResult ReservationVehicleSetup(ReservationVehicleViewModel vsvm)
 {
     if (ModelState.IsValid)
     {
         var reservationViewModel = GetReservationViewModelFromSession("reservationwizard");
         vsvm.ReservationVehicle           = _vehicleRepository.GetVehicleById(vsvm.ReservationVehicle.Id);
         reservationViewModel.VehicleSetup = vsvm;
         SaveObjectToSession(reservationViewModel, "reservationwizard");
         return(RedirectToAction("ReservationReviewSetup"));
     }
     return(View(vsvm));
 }
 public IActionResult UpdateReservationVehicle(ReservationVehicleViewModel rvvm)
 {
     if (ModelState.IsValid)
     {
         var rvmToUpdate = GetReservationViewModelFromSession("updatewizard");
         rvvm.ReservationVehicle  = _vehicleRepository.GetVehicleById(rvvm.ReservationVehicle.Id);
         rvmToUpdate.VehicleSetup = rvvm;
         SaveObjectToSession(rvmToUpdate, "updatewizard");
         return(RedirectToAction("UpdateReservationReview"));
     }
     return(View(rvvm));
 }
 public IActionResult VehicleSetup(ReservationVehicleViewModel rvvm)
 {
     if (ModelState.IsValid)
     {
         rvvm.Vehicle = _vehicleRepo.GetVehicleById(rvvm.VehicleId);
         var currReservationViewModel = _sessionService.GetFromSession <ReservationViewModel>(HttpContext, ReservationViewModel.SessionKey);
         currReservationViewModel.VehicleSetup = rvvm;
         _sessionService.SaveToSession(HttpContext, currReservationViewModel, ReservationViewModel.SessionKey);
         return(RedirectToAction("ContactSetup"));
         //Save the View Model in the Session Object.
     }
     return(View(rvvm));
 }
        public IActionResult VehicleUpdate(ReservationVehicleViewModel rvvm)
        {
            rvvm.Vehicle = _vehicleRepo.GetVehicleById(rvvm.VehicleId);
            var currReservationViewModel = _sessionService.GetFromSession <ReservationViewModel>(HttpContext, ReservationViewModel.SessionKey);

            currReservationViewModel.VehicleSetup = rvvm;
            _sessionService.SaveToSession(HttpContext, currReservationViewModel, ReservationViewModel.SessionKey);
            if (currReservationViewModel.ConfirmationNumber == default(long))
            {
                return(RedirectToAction("Review"));
            }
            return(RedirectToAction("Update"));
        }
        public async Task <IActionResult> UpdateCancelReservation(Reservation reservation)
        {
            var reservationOwner = await _userManager.FindByIdAsync(reservation.ApplicationUserId);

            ReservationLocationViewModel rlvm = new ReservationLocationViewModel
            {
                PickupDate    = reservation.PickupDate,
                ReturnDate    = reservation.ReturnDate,
                StoreLocation = reservation.StoreLocation,
            };

            ReservationContactViewModel rcvm = new ReservationContactViewModel
            {
                Email       = reservationOwner.Email,
                FirstName   = reservationOwner.FirstName,
                LastName    = reservationOwner.LastName,
                PhoneNumber = reservationOwner.PhoneNumber,
                TotalCost   = reservation.TotalCost
            };
            ReservationVehicleViewModel rvvm = new ReservationVehicleViewModel
            {
                ReservationVehicle = _vehicleRepository.GetVehicleById(reservation.VehicleId),
                Vehicles           = _vehicleRepository.GetAllAvailableVehicles()
            };
            ReservationViewModel rvm = new ReservationViewModel
            {
                InitialSetup          = rlvm,
                VehicleSetup          = rvvm,
                ReviewAndContactSetup = rcvm,
                CurrentUserId         = reservation.ApplicationUserId,
                ConfirmationNumber    = reservation.ConfirmationNumber
            };

            SaveObjectToSession(rvm, "updatewizard");
            SaveObjectToSession(reservation, "updatecancelwizard");
            return(View(rvm));
        }
 public IViewComponentResult Invoke(ReservationVehicleViewModel rvvm)
 {
     return(View(rvvm));
 }