Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        // $G$ CSS-027 (-1) Unnecessary blank lines.

        private static Dictionary <eUIScreens, Screen> getScreens()
        {
            Dictionary <eUIScreens, Screen> screens = new Dictionary <eUIScreens, Screen>();
            Screen     displayMassage        = new Screen();
            MenuScreen mainMenuScreen        = new MenuScreen(typeof(eMainMenuOptions), "Garage Options: ");
            MenuScreen displayLicensesScreen = new MenuScreen(
                typeof(eDisplayLicensesOptions),
                "Display License Numbers In The Garage:");
            MenuScreen vehicleStatusScreen = new MenuScreen(
                typeof(eVehicleStatus),
                "Select Status To Filet By:");
            MenuScreen fuelScreen        = new MenuScreen(typeof(eFuel), "Select Vehicle Fuel:");
            MenuScreen vehicleTypeScreen = new MenuScreen(
                typeof(VehicleProducer.eProducibleVehicles),
                "Select Vehicle:");
            MenuScreen energySourceScreen = new MenuScreen(typeof(eEnergySource), "Select Vehicle Energy Source:");
            MenuScreen setWheelsScreen    = new MenuScreen(typeof(eSetWheelMode), "Select How To Set Wheels:");
            MenuScreen amountOfDoors      = new MenuScreen(typeof(eAmountOfDoors), "Select How Many Doors:");
            MenuScreen vehicleColor       = new MenuScreen(typeof(eVehicleColor), "Select Vehicle Color:");
            MenuScreen vehicleLicenseType = new MenuScreen(typeof(eLicenseType), "Select Vehicle License Type:");
            MenuScreen electricityVehicleActionsScreen = new MenuScreen(typeof(eElectricityVehicleActionsOptions), "Select Vehicle Action:");
            MenuScreen fuelVehicleActionsScreen        = new MenuScreen(typeof(eFuelVehicleActionsOptions), "Select Vehicle Action:");

            DataInputScreen      dataInputScreen      = new DataInputScreen();
            NumericalInputScreen numericalInputScreen = new NumericalInputScreen();
            BoolInputScreen      boolInputScreen      = new BoolInputScreen();

            screens.Add(eUIScreens.MainMenu, mainMenuScreen);
            screens.Add(eUIScreens.DisplayLicenseNumbers, displayLicensesScreen);
            screens.Add(eUIScreens.DataInput, dataInputScreen);
            screens.Add(eUIScreens.VehicleStatuses, vehicleStatusScreen);
            screens.Add(eUIScreens.FuelType, fuelScreen);
            screens.Add(eUIScreens.VehicleType, vehicleTypeScreen);
            screens.Add(eUIScreens.EnergySource, energySourceScreen);
            screens.Add(eUIScreens.SetWheels, setWheelsScreen);
            screens.Add(eUIScreens.NumericalInput, numericalInputScreen);
            screens.Add(eUIScreens.AmountOfDoors, amountOfDoors);
            screens.Add(eUIScreens.VehicleColor, vehicleColor);
            screens.Add(eUIScreens.BoolInput, boolInputScreen);
            screens.Add(eUIScreens.LicenseType, vehicleLicenseType);
            screens.Add(eUIScreens.ElectricityVehicleActions, electricityVehicleActionsScreen);
            screens.Add(eUIScreens.FuelVehicleActions, fuelVehicleActionsScreen);
            screens.Add(eUIScreens.DisplayMassage, displayMassage);


            return(screens);
        }
Пример #5
0
        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();
            }
        }
Пример #6
0
        // $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);
                }
            }
        }