public async Task <IActionResult> Park(ParkParkedVehicleViewModel viewModel) { var parkSpots = ParkingSpotContainer.GetParkSpots(_configuration); if (ModelState.IsValid) { var vehicle = new ParkedVehicle(); vehicle.VehicleTypeId = int.Parse(Request.Form["Type"].ToString()); if (vehicle.VehicleTypeId == 0) { throw new ArgumentException("The value of the SelectItem selected was zero."); } var member = TempDataExtensions.Get <Member>(TempData, "member"); vehicle.MemberId = member.MemberId; PopulateVehicleFromViewModel(viewModel, vehicle); await ParkVehicleInBackend(parkSpots, vehicle); vehicle.IsParked = true; _context.Add(vehicle); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View()); }
private static void PopulateVehicleFromViewModel(ParkParkedVehicleViewModel viewModel, ParkedVehicle vehicle) { vehicle.RegistrationNumber = viewModel.RegistrationNumber; vehicle.Colour = viewModel.Colour; vehicle.Manufacturer = viewModel.Manufacturer; vehicle.Model = viewModel.Model; vehicle.NumberOfWheels = viewModel.NumberOfWheels; vehicle.ParkingDate = DateTime.Now; }