public async Task <IActionResult> BookCar(BookingACarVm bookACarVm) { if (ModelState.IsValid) { //if (bookACarVm.Car.CarModel!=_dataAccessCarRenting.GetCar(bookACarVm.Car.RegNumber)) //{ // ModelState.AddModelError("CarTypeError", "Biltypen på denna bilen är inte samma som kunden önskade"); // return View(); //} await _dataAccessCarRenting.SaveBooking(bookACarVm); return(View(bookACarVm)); } return(View()); }
// GET: /<controller>/ public IActionResult Index() { var bookACarVm = new BookingACarVm(); string[] arr = Enum.GetNames(typeof(CarModel)); List <SelectListItem> list = new List <SelectListItem>(); foreach (var item in arr) { var enm = new SelectListItem() { Text = item, Value = item }; list.Add(enm); } bookACarVm.CarModels = list; return(View(bookACarVm)); }
internal async Task SaveBooking(BookingACarVm bookACarVm) { var booking = new Booking(); var tryCar = _bookingContext.Cars.Where(x => x.RegNumber == bookACarVm.Car.RegNumber).ToList(); if (tryCar.Count == 0) { Car car = new Car(); car.CarModel = bookACarVm.Car.CarModel; car.RegNumber = bookACarVm.Car.RegNumber; car.Available = false; booking.BookingTime = bookACarVm.Booking.BookingTime; booking.Car = car; } else { booking.BookingTime = bookACarVm.Booking.BookingTime; booking.Car = tryCar.First(); } var tryCustomer = _bookingContext.Customers.Where(x => x.PersonNumber == bookACarVm.Customer.PersonNumber).ToList(); if (tryCustomer.Count == 0) { Customer customer = new Customer(); customer.PersonNumber = bookACarVm.Customer.PersonNumber; booking.Customer = customer; } else { booking.Customer = tryCustomer.First(); } _bookingContext.Add(booking); await _bookingContext.SaveChangesAsync(); }