public virtual bool TryAssignMember(int i_NumOfField, string i_InputStr, out string o_ErrorMsg)
        {
            bool isMemberValid            = false;
            int  indexOfWheelBasedOnField = i_NumOfField;

            o_ErrorMsg   = null;
            i_NumOfField = GetIndexOfWheelToValidate(i_NumOfField, ref indexOfWheelBasedOnField);

            switch (i_NumOfField)
            {
            case 0:
                isMemberValid = IsModelValid(i_InputStr);
                if (isMemberValid == true)
                {
                    Model = i_InputStr;
                }
                else
                {
                    o_ErrorMsg = "The model must contain letters or digits only";
                }

                break;

            case 1:
                isMemberValid = float.TryParse(i_InputStr, out float amountOfMaterial) == true?r_Engine.IsAmountsOfSourcePowerMaterialValid(amountOfMaterial) : false;

                if (isMemberValid == true)
                {
                    MyEngine.InitializeAmountOfEnergy(amountOfMaterial, this);
                }
                else
                {
                    o_ErrorMsg = string.Format(
                        "The value must be positive and below {0}",
                        r_Engine.GetAmountOfSourcePowerMaterialPossible().ToString());
                }

                break;

            case 2:
                isMemberValid = Wheels[indexOfWheelBasedOnField].IsManufacturerValid(i_InputStr);
                if (isMemberValid == true)
                {
                    Wheels[indexOfWheelBasedOnField].Manufacturor = i_InputStr;
                }
                else
                {
                    o_ErrorMsg = "The value must contain letter only";
                }

                break;

            case 3:
                isMemberValid = float.TryParse(i_InputStr, out float o_AirPressure) == true ? Wheels[indexOfWheelBasedOnField].IsAirPressureIsValid(o_AirPressure) : false;
                if (isMemberValid == true)
                {
                    Wheels[indexOfWheelBasedOnField].Inflate(o_AirPressure);
                }
                else
                {
                    o_ErrorMsg = string.Format(
                        "The value must be positive and below {0}",
                        Wheels[indexOfWheelBasedOnField].GetAmountOfPressurePossibleToInflate().ToString());
                }

                break;
            }

            return(isMemberValid);
        }