/// <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); }
/// <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); }