コード例 #1
0
        //GET: vyn där man skapar en bokning
        public IActionResult Create()
        {
            CreateRentalVm rentalVm = new CreateRentalVm();

            rentalVm.Cars = FillCarsListSelectListItems();

            rentalVm.Customers = FillCustomersListSelectListItems();

            return(View(rentalVm));
        }
コード例 #2
0
        public async Task <IActionResult> Create([Bind("RentalId,StartDate,CustomerId,CarId")] Rental rental)
        {
            rental.Ongoing = true;
            rental.EndDate = rental.StartDate;

            rental.Car = _carsRepository.GetCarById(rental.CarId);

            //om bilen är obokad sätter vi den till bokad
            if (rental.Car.Booked == false)
            {
                rental.Car.Booked = true;
            }
            else
            {
                ViewBag.Message = "Bilen är upptagen vid den önskade tidpunkten, vänligen välj en annan bil.";
                CreateRentalVm error_rentalVm = new CreateRentalVm();
                error_rentalVm.Cars      = FillCarsListSelectListItems();
                error_rentalVm.Customers = FillCustomersListSelectListItems();
                return(View(error_rentalVm));
            }
            if (ModelState.IsValid)
            {
                //lägger till bokning i systemet.
                rental.RentalId = Guid.NewGuid();
                _rentalsRepository.AddRental(rental);

                //uppdaterar till bokad bil
                _carsRepository.UpdateCar(rental.Car);

                return(RedirectToAction(nameof(Index)));
            }

            var viewmodel = new CreateRentalVm();

            viewmodel.Rental = rental;
            return(View(viewmodel));
        }