public override bool UpdateUniqueProperties(string i_Message, int i_PropertyNumber) { bool parseSucceed = false; if (i_PropertyNumber == (int)eCarProperties.Color) { int numberOfInputOptions = Enum.GetNames(typeof(eColorOfCar)).Length; int color = InputValidation.CorrectUserInput(i_Message, numberOfInputOptions); if (color != Constants.k_InValid) { m_Color = (eColorOfCar)color; parseSucceed = true; } } else if (i_PropertyNumber == (int)eCarProperties.NumberOfDoors) { int numberOfInputOptions = Enum.GetNames(typeof(eNumberOfDoors)).Length; int doorsNumber = InputValidation.CorrectUserInput(i_Message, numberOfInputOptions); if (doorsNumber != Constants.k_InValid) { m_NumberOfDoors = (eNumberOfDoors)doorsNumber; parseSucceed = true; } } return(parseSucceed); }
public override bool SetSpecialVariables(int i_NumberOfQuestion, string i_ValueOfVariable) { const int k_MinimumDoorsValue = 2; int indexOfValue; int maxNumberOfColors = Enum.GetValues(typeof(eColorOfCar)).Length; int maxNumberOfDoors = Enum.GetValues(typeof(eNumberOfDoors)).Length - 1 + k_MinimumDoorsValue; if (i_NumberOfQuestion == 1) { if (int.TryParse(i_ValueOfVariable, out indexOfValue)) { if (indexOfValue >= k_MinimumEnumValue && indexOfValue <= maxNumberOfColors) { m_ColorOfCar = (eColorOfCar)Enum.Parse(typeof(eColorOfCar), i_ValueOfVariable); } else { throw new ValueOutOfRangeException(k_MinimumEnumValue, maxNumberOfColors); } } else { throw new FormatException(); } } else { if (int.TryParse(i_ValueOfVariable, out indexOfValue)) { if (indexOfValue >= k_MinimumDoorsValue && indexOfValue <= maxNumberOfDoors) { m_NumberOfDoors = (eNumberOfDoors)Enum.Parse(typeof(eNumberOfDoors), i_ValueOfVariable); } else { throw new ValueOutOfRangeException(k_MinimumEnumValue, maxNumberOfDoors); } } else { throw new FormatException(); } } return(true); }
private bool setColorOfCar(string i_ColorOfCar) { eColorOfCar colorOfCar; bool isValidinput = false; if (!Enum.TryParse(i_ColorOfCar, out colorOfCar)) { throw new FormatException(string.Format("Not a valid input for color of car.")); } isValidinput = Enum.IsDefined(typeof(eColorOfCar), colorOfCar); if (isValidinput) { ColorOfCar = colorOfCar; } return(isValidinput); }
private bool setColorOfCar(string i_ColorOfCar) { eColorOfCar colorOfCar; bool isValidinput = false; if (!Enum.TryParse(i_ColorOfCar, out colorOfCar)) { throw new FormatException(string.Format("{0} is not parsable to color of car.", i_ColorOfCar)); } isValidinput = Enum.IsDefined(typeof(eNumOfDoors), colorOfCar); if (isValidinput) { m_ColorOfCar = colorOfCar; } return(isValidinput); }
private readonly int r_NumberOfDoors; //// Can be 2, 3, 4 or 5... public Car(string i_ModelName, string i_LicenseNumber, int i_NumberOfDoors, eColorOfCar i_ColorOfTheCar, Engine i_CarEngine, string i_WheelModel) : base(i_ModelName, i_LicenseNumber, Constants.k_CarNumberOfWheels, i_CarEngine, Constants.k_MaxCarAirPressure, i_WheelModel) { r_NumberOfDoors = i_NumberOfDoors; i_ColorOfTheCar = r_ColorOfTheCar; }
public override void ChangeSpecificDetails(object i_ColorOfCar, object i_NumOfDoors) { m_ColorOfCar = (eColorOfCar)i_ColorOfCar; m_NumOfDoors = (eNumOfDoors)i_NumOfDoors; }
internal Car(eColorOfCar i_Color, int i_Number, string i_ModelName, List <Wheel> i_WheelList, Engine i_Engine, float i_EnergyPercent, string i_LicenseNumber, Dictionary <string, string> i_VehicleInfo) : base(i_ModelName, i_WheelList, i_Engine, i_EnergyPercent, i_LicenseNumber, i_VehicleInfo) { this.m_Color = i_Color; this.m_NumberOfDoors = i_Number; }
public override void SetInfoToVehicle() { m_ColorOfCar = (eColorOfCar)Enum.Parse(typeof(eColorOfCar), m_VehicleInfo.Input[0]); m_NumOfDoors = (eNumberOfDoor)Enum.Parse(typeof(eNumberOfDoor), m_VehicleInfo.Input[1]); }