private static FuelCar initNewFuelCar(string i_LicensePlateSrting, string i_VehicleModel, float i_EnergyLeft, string i_WheelManufacturer, float i_WheelCurrentAirPressure, string[] i_Parameters) { const bool v_IgnoreCase = true; const FuelEngine.eFuelType k_SupportedCarFuelType = FuelEngine.eFuelType.Octan96; const float k_MaxCarFuelTank = 35; if (i_EnergyLeft > k_MaxCarFuelTank) { throw new ValueOutOfRangeException(k_MaxCarFuelTank); } FuelEngine engine = new FuelEngine(k_MaxCarFuelTank, i_EnergyLeft, null, k_SupportedCarFuelType); if (i_WheelCurrentAirPressure > k_MaxAirPressureInCarWheels) { throw new ValueOutOfRangeException(k_MaxAirPressureInCarWheels); } List <Wheel> wheels = new List <Wheel>(k_NumberOfWheelsInCar); for (int i = 0; i < k_NumberOfWheelsInCar; i++) { wheels.Add(new Wheel(i_WheelManufacturer, i_WheelCurrentAirPressure, k_MaxAirPressureInCarWheels)); } Car.eCarColor color = (Car.eCarColor)Enum.Parse(typeof(Car.eCarColor), i_Parameters[0], v_IgnoreCase); Car.eNumOfDoors numOfDoors = (Car.eNumOfDoors)Enum.Parse(typeof(Car.eNumOfDoors), i_Parameters[1], v_IgnoreCase); return(new FuelCar(i_LicensePlateSrting, i_VehicleModel, wheels, engine, color, numOfDoors)); }
public static Car.eNumOfDoors ParseNumOfDoorsInput(string i_Input) { Car.eNumOfDoors userOption = 0; try { switch ((Car.eNumOfDoors)Enum.Parse(typeof(Car.eNumOfDoors), i_Input)) { case Car.eNumOfDoors.Two: userOption = Car.eNumOfDoors.Two; break; case Car.eNumOfDoors.Three: userOption = Car.eNumOfDoors.Three; break; case Car.eNumOfDoors.Four: userOption = Car.eNumOfDoors.Four; break; case Car.eNumOfDoors.Five: userOption = Car.eNumOfDoors.Five; break; default: throw new FormatException("Invalid input, must be 'Two', 'Three', 'Four' or 'Five'"); } } catch { throw new FormatException("Invalid input, must be 'Two', 'Three', 'Four' or 'Five'"); } return(userOption); }
private static ElectricCar initNewElectricCar(string i_LicensePlateSrting, string i_VehicleModel, float i_EnergyLeft, string i_WheelManufacturer, float i_WheelCurrentAirPressure, string[] i_Parameters) { const bool v_IgnoreCase = true; const float k_MaxCarHoursInBattery = 2.2f; if (i_EnergyLeft > k_MaxCarHoursInBattery) { throw new ValueOutOfRangeException(k_MaxCarHoursInBattery); } ElectricEngine engine = new ElectricEngine(k_MaxCarHoursInBattery, i_EnergyLeft, null); if (i_WheelCurrentAirPressure > k_MaxAirPressureInCarWheels) { throw new ValueOutOfRangeException(k_MaxAirPressureInCarWheels); } List <Wheel> wheels = new List <Wheel>(k_NumberOfWheelsInCar); for (int i = 0; i < k_NumberOfWheelsInCar; i++) { wheels.Add(new Wheel(i_WheelManufacturer, i_WheelCurrentAirPressure, k_MaxAirPressureInCarWheels)); } Car.eCarColor color = (Car.eCarColor)Enum.Parse(typeof(Car.eCarColor), i_Parameters[0], v_IgnoreCase); Car.eNumOfDoors numOfDoors = (Car.eNumOfDoors)Enum.Parse(typeof(Car.eNumOfDoors), i_Parameters[1], v_IgnoreCase); return(new ElectricCar(i_LicensePlateSrting, i_VehicleModel, wheels, engine, color, numOfDoors)); }
private void InitializeCar() { Car.eColor Color = UserCommunicator.ToCarColor(UserCommunicator.getStringThatEqualsOneOf("What color is your car", new string[] { "Grey", "Blue", "White", "Black" }, false)); Car.eNumOfDoors NumOfDoors = UserCommunicator.ToNumOfDoors(UserCommunicator.getIntInRange("How many doors your car have?", 2, 5)); m_DataBase.m_Color = Color; m_DataBase.m_NumOfDoors = NumOfDoors; }
private Vehicle addElectricCar(string i_LicenseNumber, string i_Model, string i_ManufacturerName, float i_MaxAirPressure) { string electricCarData = @"Please enter the following additional information: 1. Car color (Grey,Blue,White,Black) 2. numberOfDoors(Two,Three,Four,Five)"; Console.WriteLine(electricCarData); Car.eColor color = (Car.eColor)Enum.Parse(typeof(Car.eColor), Console.ReadLine()); Car.eNumOfDoors numberOfDoors = (Car.eNumOfDoors)Enum.Parse(typeof(Car.eNumOfDoors), Console.ReadLine()); return(MakeVehicle.MakeElectricCar(i_Model, i_LicenseNumber, i_ManufacturerName, i_MaxAirPressure, color, numberOfDoors)); }
private static void inputCarDetails(out Car.eColorOfCar o_ColorOfCar, out Car.eNumOfDoors o_NumOfDoors) { int userChoice = 0; o_ColorOfCar = 0; o_NumOfDoors = 0; Console.WriteLine(@"Please enter the color of the car: 1. Red, 2. Blue, 3. Black, 4. Gray"); userChoice = inputBetweenRange(1, 4); switch (userChoice) { case 1: o_ColorOfCar = Car.eColorOfCar.Red; break; case 2: o_ColorOfCar = Car.eColorOfCar.Blue; break; case 3: o_ColorOfCar = Car.eColorOfCar.Black; break; case 4: o_ColorOfCar = Car.eColorOfCar.Gray; break; } Console.Write(@"Please enter num of doors from 2 to 5"); userChoice = inputBetweenRange(2, 5); switch (userChoice) { case 2: o_NumOfDoors = Car.eNumOfDoors.Two; break; case 3: o_NumOfDoors = Car.eNumOfDoors.Three; break; case 4: o_NumOfDoors = Car.eNumOfDoors.Four; break; case 5: o_NumOfDoors = Car.eNumOfDoors.Five; break; } }
public static void GetVehicleNumberOfDoorsFromUser(out Car.eNumOfDoors o_NumOfDoors) { int userChoice = 0; bool validInput = false; StringBuilder userPrompt = new StringBuilder(); userPrompt.Append(" ---------------------------------------------" + Environment.NewLine); userPrompt.Append(" Please choose your vehicle's number of doors:" + Environment.NewLine); userPrompt.Append(" 2" + Environment.NewLine); userPrompt.Append(" 3" + Environment.NewLine); userPrompt.Append(" 4" + Environment.NewLine); userPrompt.Append(" 5" + Environment.NewLine); userPrompt.Append(" ---------------------------------------------" + Environment.NewLine); Console.Write(userPrompt + Environment.NewLine); while (validInput == false) { try { validInput = GetValidIntFromUserInRange(out userChoice, 2, 5); } catch (FormatException) { Console.WriteLine("Error: Please enter a number."); } catch (ValueOutOfRangeException ex) { Console.WriteLine("Error: The number of doors should be between " + ex.MinValue + " to " + ex.MaxValue); } catch (Exception ex) { Console.WriteLine("Unknown error occured: " + Environment.NewLine + ex.Message + Environment.NewLine); } } o_NumOfDoors = (Car.eNumOfDoors)userChoice; }
/*** Class Logic ***/ public void SetCarDoorsAndColor(Car.eColor i_Color, Car.eNumOfDoors i_NumOfDoors) { m_Color = i_Color; m_NumberOfDoors = i_NumOfDoors; }
public static Vehicle MakeElectricCar(string i_Model, string i_LicenseNumber, string i_WheelManufacturerName, float i_WheelMaxAirPressure, Car.eColor i_Color, Car.eNumOfDoors i_NumberOfDoors) { return(new Car(i_Model, i_LicenseNumber, i_WheelManufacturerName, i_WheelMaxAirPressure, i_Color, i_NumberOfDoors, new Battery(k_ElectricCarMaxBattery))); }
public static Vehicle MakeRegularCar(string i_Model, string i_LicenseNumber, string i_WheelManufacturerName, float i_WheelMaxAirPressure, Car.eColor i_Color, Car.eNumOfDoors i_NumberOfDoors) { return(new Car(i_Model, i_LicenseNumber, i_WheelManufacturerName, i_WheelMaxAirPressure, i_Color, i_NumberOfDoors, new GasTank(GasTank.eTypeOfFuel.Octan98, k_RegularCarVolumeGasTank))); }