Пример #1
0
        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());
        }
Пример #2
0
 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;
 }