コード例 #1
0
        public void chargeElectricVehicle()
        {
            m_UserDisplay.ClearAndDisplayMessage("You have chosen to recharge an Electric type vehicle");
            string licenseNumber        = m_ChargeElectricVehicle.GetLicenseNumberForCharging();
            float  amountOfTimeToCharge = m_ChargeElectricVehicle.GetAmountOfMinutesToCharge();

            try
            {
                m_Garage.RechargeElectricVehicle(licenseNumber, amountOfTimeToCharge);
                m_UserDisplay.ClearAndDisplayMessage(string.Format("Vehicle with license number: {0}, with amount: {1} successfuly!", licenseNumber, amountOfTimeToCharge));
                m_UserDisplay.PressAnyKeyToContinue();
            }
            catch (Exception exception)
            {
                m_UserDisplay.ClearAndDisplayMessage(exception.Message);

                if (exception is ValueOutOfRangeException)
                {
                    m_UserDisplay.DisplayMessage(Messages.k_PleaseTryAgainMessage);
                    chargeElectricVehicle();
                }
                else
                {
                    m_UserDisplay.PressAnyKeyToContinue();
                }
            }
        }
コード例 #2
0
        public static int getUserChoice()
        {
            int userChoise = ParseInputToInt();

            while (!Enum.IsDefined(typeof(Messages.eMainMenuOptions), userChoise))
            {
                m_UserDisplay.ClearAndDisplayMessage("Input is not a valid options. Please enter a valid option");
                m_UserDisplay.displayEmpty();
                m_UserDisplay.DisplayMessage(Messages.k_Menu);
                userChoise = ParseInputToInt();
            }

            return(userChoise);
        }
コード例 #3
0
        public void ServeUser()
        {
            int userChoise = 0;

            m_UserDisplay.DisplayMessage(Messages.k_WelcomeUserMessage);
            m_UserDisplay.ReadLine();

            while (userChoise != (int)Messages.eMainMenuOptions.Exit)
            {
                m_UserDisplay.ClearAndDisplayMessage(Messages.k_Menu);
                userChoise = ValidateUserInput.getUserChoice();
                if (userChoise == (int)Messages.eMainMenuOptions.AddNewVehicle)
                {
                    m_GarageController.AddVehicleToGarage();
                }
                else if (userChoise == (int)Messages.eMainMenuOptions.DisplayAllLicensePlates)
                {
                    m_GarageController.displayLicenseNumbersList();
                }
                else if (userChoise == (int)Messages.eMainMenuOptions.ChangeStatus)
                {
                    m_GarageController.changeCarStatus();
                }
                else if (userChoise == (int)Messages.eMainMenuOptions.RefuelFuelEngine)
                {
                    m_GarageController.refuelGasVehicle();
                }
                else if (userChoise == (int)Messages.eMainMenuOptions.RechargeElectricEngine)
                {
                    m_GarageController.chargeElectricVehicle();
                }
                else if (userChoise == (int)Messages.eMainMenuOptions.InflateWheels)
                {
                    m_GarageController.InflateTires();
                }
                else if (userChoise == (int)Messages.eMainMenuOptions.DisplayVehicleDetails)
                {
                    m_GarageController.printVehicleDetails();
                }
            }

            m_UserDisplay.GoodByePrinter();
        }
        public Vehicle.eVehicleGarageStatus GetFilter()
        {
            m_UserDisplay.ClearAndDisplayMessage("You have chosen to Display the license numbers of the vehicles whom are currently in the garage");
            m_UserDisplay.DisplayMessage("Would you like to filter according to the status of each vehicle? Press Y for 'Yes' or N For 'No'");
            bool userWantsToFilter = ValidateUserInput.validateYesOrNo();

            Vehicle.eVehicleGarageStatus vehicleStatus;

            if (userWantsToFilter)
            {
                vehicleStatus = ValidateUserInput.GetStateFromUser();
            }
            else
            {
                vehicleStatus = Vehicle.eVehicleGarageStatus.Undefined;
            }

            return(vehicleStatus);
        }
コード例 #5
0
 public string GetLicenseNumberForCharging()
 {
     m_UserDisplay.DisplayMessage("Please enter the license number of the vehicle you would like to recharge");
     return(ValidateUserInput.ValidateInputInNotEmpty());
 }
コード例 #6
0
 public string GetLicenseNumberForChangingStatus()
 {
     m_UserDisplay.DisplayMessage("Please enter the license number of the vehicle whose status you would like to change");
     return(ValidateUserInput.GetLicensePlateFromUser());
 }
コード例 #7
0
 private VehicleFactory.eVehicleTypes getVehicleType()
 {
     m_UserDisplay.DisplayMessage("Please choose one of the following vehicle types:");
     return((VehicleFactory.eVehicleTypes)ValidateUserInput.InputIsInRangeOfEnum(typeof(VehicleFactory.eVehicleTypes)));
 }
コード例 #8
0
 public float GetAmountOfLitersToFuel()
 {
     m_UserDisplay.DisplayMessage("Please enter the amount of fuel you would like to refuel");
     return(ValidateUserInput.ParseInputToFloat());
 }