/// <summary> /// This method deals with recharging a certain Vehicle. /// </summary> private void rechargeVehicle() { string licenseNumber = ""; string amountOfMins = ""; float amount = -1F; if (licenseNumber == "" || amountOfMins == "") { while (licenseNumber == "") { licenseNumber = GetLicenseNumber(); } while (amountOfMins == "") { amountOfMins = UI.GetAmountOfMinsToCharge(); } } if (Garage.VehicleList.TryGetValue(licenseNumber, out Vehicle vehicle)) { if (vehicle is ElectricBasedVehicle electricVehicle) { electricVehicle = (ElectricBasedVehicle)vehicle; if (float.TryParse(amountOfMins, out amount)) { try { electricVehicle.Charge(amount); } catch { Console.WriteLine("Amount of charging minutes exceeds battery capacity \n" + "Did not refuel vehicle " + electricVehicle.LicenseNumber); } } } else { Console.WriteLine("Can not recharge a " + vehicle.Type); } } else { Console.WriteLine("Vehicle number " + vehicle.LicenseNumber + " isn't found in this Garage"); } }