public IActionResult SaveBooking([Bind("CustomerBirthday, CarId, StartDate, EndDate, CustomerId")] Booking booking) { if (ModelState.IsValid) { _context.Add(booking); _context.SaveChanges(); var viewmodel = new CarBookingVM { AllCars = _context.Cars.Select(RegNumber => new SelectListItem() { Text = RegNumber.RegNumber, Value = RegNumber.Id.ToString() }) }; ViewData["message"] = "Booking accepted!"; return(View("Rent", viewmodel)); } else { var viewmodel = new CarBookingVM { AllCars = _context.Cars.Select(RegNumber => new SelectListItem() { Text = RegNumber.RegNumber, Value = RegNumber.Id.ToString() }) }; ViewData["message"] = "Error, please try again!"; return(View("Rent", viewmodel)); } }
// GET: Cars/Create public IActionResult Create() { CarBookingVM size = new CarBookingVM(); size.CarSizes = GetCarSizeToList(); return(View(size)); }
public async Task <IActionResult> Edit(Guid id, [Bind("Id,RegNr,CarSize,CurrentDistance,Mileage,Rented")] Car car) { if (id != car.Id) { return(NotFound()); } if (ModelState.IsValid) { try { await _carsRepo.Update(car); } catch (DbUpdateConcurrencyException) { if (!CarExists(car.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } CarBookingVM carBookingVM = new CarBookingVM(); carBookingVM.CarSizes = GetCarSizeToList(); carBookingVM.Car = car; return(View(carBookingVM)); }
// GET: Bookings/Create public IActionResult Create() { CarBookingVM carBookingVM = new CarBookingVM(); carBookingVM.CarSizes = GetCarSizeToList(); carBookingVM.Customers = GetCustomersToList(); return(View(carBookingVM)); }
public IActionResult Rent() { var viewmodel = new CarBookingVM { AllCars = _context.Cars.Select(RegNumber => new SelectListItem() { Text = RegNumber.RegNumber, Value = RegNumber.Id.ToString() }), AllCustomers = _context.Customers.Select(Customer => new SelectListItem() { Text = Customer.FirstName + " " + Customer.LastName, Value = Customer.Id.ToString() }) }; ViewData["Message"] = ""; return(View(viewmodel)); }
public async Task <IActionResult> Create([Bind("Id,Customer,Car,BookingDate")] Booking booking) { //För at kontrollera så att bilen inte bokas ett datum som redan varit. var currentDate = DateTime.Now; //Väljer ut första lediga bil som matchar önskad storlek. var allCars = _bookingsRepo.GetAllCars(); var notRentedCars = allCars.Where(x => x.Rented == false).ToList(); var theCarWeChoose = notRentedCars.FirstOrDefault(x => x.CarSize == booking.Car.CarSize); //För att fylla på dropdown-listan ifall det inte skulle gå att boka en bil. CarBookingVM carBookingVM = new CarBookingVM(); carBookingVM.CarSizes = GetCarSizeToList(); carBookingVM.Customers = GetCustomersToList(); if (theCarWeChoose == null) { ViewBag.UserMessageFail = "Tyvärr fanns det inga lediga bilar av den storleken."; return(View("Create", carBookingVM)); } else if (currentDate > booking.BookingDate) { ViewBag.UserMessageFail = "Det går inte att boka ett datum som redan har varit."; return(View("Create", carBookingVM)); } else { booking.Car = theCarWeChoose; booking.Id = Guid.NewGuid(); booking.BookingStatus = true; booking.Car.Rented = true; await _bookingsRepo.AddBooking(booking); theCarWeChoose.Rented = true; return(RedirectToAction(nameof(Index))); } }
// GET: Cars/Edit/5 public IActionResult Edit(Guid?id) { if (id == null) { return(NotFound()); } var car = _carsRepo.GetCarById(id); if (car == null) { return(NotFound()); } CarBookingVM carBookingVM = new CarBookingVM(); carBookingVM.CarSizes = GetCarSizeToList(); carBookingVM.Car = car; return(View(carBookingVM)); }
// GET: Customers/Details/5 public IActionResult Details(Guid?id) { if (id == null) { return(NotFound()); } var customer = _customersRepo.GetCustomersById(id); if (customer == null) { return(NotFound()); } CarBookingVM carBookingVM = new CarBookingVM(); carBookingVM.Customer = customer; var theCustomerBookings = _customersRepo.GetCustomerBookings(id); carBookingVM.CustomerBookings = theCustomerBookings; return(View(carBookingVM)); }