//GET: vyn där man skapar en bokning public IActionResult Create() { CreateRentalVm rentalVm = new CreateRentalVm(); rentalVm.Cars = FillCarsListSelectListItems(); rentalVm.Customers = FillCustomersListSelectListItems(); return(View(rentalVm)); }
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)); }