예제 #1
0
        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);
        }
예제 #2
0
파일: Car.cs 프로젝트: Yinon-haver/projects
        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);
        }
예제 #3
0
파일: Car.cs 프로젝트: idanela/Garage
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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;
        }
예제 #6
0
파일: Car.cs 프로젝트: nissimuseri/Garage
 public override void ChangeSpecificDetails(object i_ColorOfCar, object i_NumOfDoors)
 {
     m_ColorOfCar = (eColorOfCar)i_ColorOfCar;
     m_NumOfDoors = (eNumOfDoors)i_NumOfDoors;
 }
예제 #7
0
 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;
 }
예제 #8
0
파일: Car.cs 프로젝트: DanBinyamin/Garge
 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]);
 }