示例#1
0
        /// <summary>
        /// gets tire pressure from user, check special cases
        /// </summary>
        /// <param name="i_VehicleData"></param>
        /// <returns></returns>
        private float getTirePressureFromUser(VehicleDataFromUser i_VehicleData)
        {
            Console.Clear();
            float retVal = getValidFloatFromUser("Insert available amount of tire pressure: ");

            while (!i_VehicleData.IsValidPressure(retVal))
            {
                retVal = getValidFloatFromUser("Invalid tire pressure, enter again");
            }

            return(retVal);
        }
示例#2
0
        /// <summary>
        /// let the user insert a new vehicle to the garage according to details given by the user
        /// </summary>
        private void insertVehicle()
        {
            Console.Clear();
            string licenceNumber = getLicenseNumberFromUser();

            if (m_Garage.IsVehicleExists(licenceNumber))
            {
                Console.WriteLine("The vehicle already exists, change to in repair mode");
            }
            else // CREATE NEW
            {
                OwnerDataFromUser ownerData = new OwnerDataFromUser();
                ownerData.OwnerName     = getOwnerNameFromuser();
                ownerData.OwnerPhoneNum = getPhoneNumberFromUser();

                VehicleDataFromUser vehicleData = new VehicleDataFromUser();
                vehicleData.LicenseNumber = licenceNumber;
                int vehicleChoice = getVehicleTypeFromUser();
                vehicleData.VehicleType = (eVehicleType)vehicleChoice;

                // is electric relevant only for car or motorcycle
                if (vehicleChoice == 1 || vehicleChoice == 2)
                {
                    vehicleData.isElectric = isElectricFromUser();
                }

                vehicleData.ModelName = getModelNameFromUser();
                float currentEnergy       = getAvailableEnergyFromUser(vehicleData);
                float currentTirePressure = getTirePressureFromUser(vehicleData);

                m_Garage.OwnerData   = ownerData;
                m_Garage.VehicleData = vehicleData;

                switch (vehicleChoice)
                {
                case 1:     // CAR
                    CarDataFromUser carData = new CarDataFromUser();
                    carData.NumOfDoors          = getNumOfDoorsFromUser();
                    carData.CarColor            = getCarColorFromUser();
                    carData.AvailableEnergy     = currentEnergy;
                    carData.CurrentTirePressure = currentTirePressure;
                    m_Garage.CarData            = carData;
                    break;

                case 2:     // MOTORCYCLE
                    MotorCycleDataFromUser motorCycleData = new MotorCycleDataFromUser();
                    motorCycleData.EngineCapacity      = getEngineCapacityFromUser();
                    motorCycleData.LicenseType         = getLicenseTypeFromUser();
                    motorCycleData.AvailableEnergy     = currentEnergy;
                    motorCycleData.CurrentTirePressure = currentTirePressure;
                    m_Garage.MotorCycleData            = motorCycleData;
                    break;

                case 3:     // TRUCK
                    TruckDataFromUser truckData = new TruckDataFromUser();
                    truckData.CargoCapacity       = getCargoCapacityFromUser();
                    truckData.HazardMaterials     = isCarryHazardMaterials();
                    truckData.AvailableEnergy     = currentEnergy;
                    truckData.CurrentTirePressure = currentTirePressure;
                    m_Garage.TruckData            = truckData;
                    break;
                }
            }

            m_Garage.AddVehicle(licenceNumber);
        }