Exemplo n.º 1
0
        private List <ParameterBase> GetBuildParameters(XDocument xDoc)
        {
            // Construct the build parameters
            var buildParameters = new List <ParameterBase>();
            var parametersNodes = xDoc.Descendants("action").Elements("parameterDefinition");
            var supportedTypes  = Enum.GetNames(typeof(BuildParameterType));

            foreach (var parameterNode in parametersNodes)
            {
                var type = (string)parameterNode.Element("type");
                if (!supportedTypes.Contains(type))
                {
                    continue;
                }

                switch ((BuildParameterType)Enum.Parse(typeof(BuildParameterType), type))
                {
                case BuildParameterType.BooleanParameterDefinition:
                    var booleanBuildParamter = new BuildParameters.BooleanParameter(parameterNode);
                    buildParameters.Add(booleanBuildParamter.ToParameterBase());
                    break;

                case BuildParameterType.ChoiceParameterDefinition:
                    var choiceBuildParameter = new ChoiceParameter(parameterNode);
                    buildParameters.Add(choiceBuildParameter.ToParameterBase());
                    break;

                case BuildParameterType.StringParameterDefinition:
                    var stringBuildParameter = new StringParameter(parameterNode);
                    buildParameters.Add(stringBuildParameter.ToParameterBase());
                    break;
                }
            }

            return(buildParameters);
        }