public void addNewVehicle() { DataInputScreen dataInputScreen = r_Screens[eUIScreens.DataInput] as DataInputScreen; NumericalInputScreen numericalInputScreen = r_Screens[eUIScreens.NumericalInput] as NumericalInputScreen; ScreenUtils.Clear(); dataInputScreen.SetMassageToDisplay("Enter Vehicle License Number"); dataInputScreen.Display(out string licenseNumber); r_GarageManager.AddVehicle(licenseNumber); VehicleInfo vehicleInfo = r_GarageManager.GetVehicleInfo(licenseNumber); try { string userData; dataInputScreen.SetMassageToDisplay("Enter Vehicle Owner Name"); dataInputScreen.Display(out userData); vehicleInfo.VehicleOwnerName = userData; numericalInputScreen.SetMassageToDisplay("Enter Vehicle Owner Phone Number"); numericalInputScreen.Display(out userData); vehicleInfo.VehicleOwnerPhoneNumber = userData; vehicleInfo.Vehicle = getNewVehicleFromUser(licenseNumber); } catch (Exception i_Exception) { ScreenUtils.Display(i_Exception.ToString()); ScreenUtils.Freeze(); } }
private EnergySource getEnergySourceFromUser(bool i_ForTruck) { DataInputScreen dataInputScreen = r_Screens[eUIScreens.DataInput] as DataInputScreen; eEnergySource energySourceType = eEnergySource.Fuel; EnergySource energySource = null; if (!i_ForTruck) { MenuScreen energySourceScreen = r_Screens[eUIScreens.EnergySource] as MenuScreen; energySourceScreen.Display(out string energySourInput); energySourceType = (eEnergySource)parseMenuOption(energySourInput); } if (energySourceType == eEnergySource.Fuel) { MenuScreen FuelType = r_Screens[eUIScreens.FuelType] as MenuScreen; FuelType.Display(out string fuelTypeStr); eFuel fuel = (eFuel)parseMenuOption(fuelTypeStr); dataInputScreen.SetMassageToDisplay("Enter Fuel Tank Capacity"); dataInputScreen.Display(out string fuelTankCapacity); float capacity = float.Parse(fuelTankCapacity); energySource = new FuelTank(fuel, capacity); } else { dataInputScreen.SetMassageToDisplay("Enter Maximum Time Capacity"); dataInputScreen.Display(out string timeCapacity); float capacity = float.Parse(timeCapacity); energySource = new Battery(capacity); } return(energySource); }
private Wheel getWheelFromUser() { NumericalInputScreen numericalInputScreen = r_Screens[eUIScreens.NumericalInput] as NumericalInputScreen; DataInputScreen dataInputScreen = r_Screens[eUIScreens.DataInput] as DataInputScreen; dataInputScreen.SetMassageToDisplay("Enter Wheel Manufacturer Name"); dataInputScreen.Display(out string manufacturerName); numericalInputScreen.SetMassageToDisplay("Enter Wheel Maximum Air Pressure"); numericalInputScreen.Display(out string maximumAirPressureStr); float maximumAirPressure = float.Parse(maximumAirPressureStr); return(new Wheel(manufacturerName, maximumAirPressure)); }
private void displayVehicleActions() { string licenseNumber; DataInputScreen screen = r_Screens[eUIScreens.DataInput] as DataInputScreen; ScreenUtils.Clear(); screen.SetMassageToDisplay("Enter Vehicle License Number"); screen.Display(out licenseNumber); try { VehicleInfo vehicleInfo = r_GarageManager.GetVehicleInfo(licenseNumber); if (vehicleInfo != null) { MenuScreen menu; if (vehicleInfo.Vehicle.EnergySource is Battery) { menu = r_Screens[eUIScreens.ElectricityVehicleActions] as MenuScreen; } else { menu = r_Screens[eUIScreens.FuelVehicleActions] as MenuScreen; } bool back = false; while (!back) { menu.Display(out string userInput); vehicleActionHandler(vehicleInfo, userInput, out back); } } } catch (Exception i_Exception) { ScreenUtils.Display(i_Exception.ToString()); ScreenUtils.Freeze(); } }
// $G$ DSN-002 (-10) The UI should not know Car\Truck\Motorcycle private void getVehicleData(ref Vehicle io_Vehicle) { DataInputScreen dataInputScreen = r_Screens[eUIScreens.DataInput] as DataInputScreen; dataInputScreen.SetMassageToDisplay("Enter Vehicle Model Name"); dataInputScreen.Display(out string userInput); io_Vehicle.ModelName = userInput; io_Vehicle.EnergySource = getEnergySourceFromUser(io_Vehicle is Truck); if (io_Vehicle is Car) { getWheelsDataFromUser(eVehicleNumberOfWheels.Car, ref io_Vehicle); } else { if (io_Vehicle is Motorcycle) { getWheelsDataFromUser(eVehicleNumberOfWheels.Motorcycle, ref io_Vehicle); } else { getWheelsDataFromUser(eVehicleNumberOfWheels.Truck, ref io_Vehicle); } } }