/// <summary> /// Obtiene una lista de parámetros /// </summary> internal BaseModelCollection <ParameterModel> GetParameters() { BaseModelCollection <ParameterModel> parameters = new BaseModelCollection <ParameterModel>(); // Asigna los parámetros foreach (ControlItemViewModel item in Items) { if (item is ParameterViewModel parameterViewModel) { parameters.Add(parameterViewModel.GetParameter()); } } // Devuelve los parámetros return(parameters); }
/// <summary> /// Carga los parámetros /// </summary> private void LoadParameters(MLNode rootML, BaseModelCollection <ParameterModel> parameters) { foreach (MLNode nodeML in rootML.Nodes) { if (nodeML.Name == TagParameter) { ParameterModel parameter = new ParameterModel(); // Asigna las propiedades parameter.GlobalId = nodeML.Attributes[TagId].Value; parameter.Type = nodeML.Attributes[TagType].Value.GetEnum(ParameterModel.ParameterType.String); parameter.Value = nodeML.Value; // Añade el parámetro parameters.Add(parameter); } } }
/// <summary> /// Obtiene los nodos de scripts /// </summary> private MLNodesCollection GetMLScripts(BaseModelCollection <ScriptModel> scripts) { MLNodesCollection nodesML = new MLNodesCollection(); // Añade los scripts foreach (ScriptModel script in scripts) { MLNode nodeML = nodesML.Add(TagScript); // Añade las propiedades nodeML.Attributes.Add(TagFile, script.RelativeFileName); // Añade los parámetros nodeML.Nodes.AddRange(GetMLParameters(script.Parameters)); } // Devuelve los nodos return(nodesML); }
/// <summary> /// Obtiene los nodos de parámetros /// </summary> private MLNodesCollection GetMLParameters(BaseModelCollection <ParameterModel> parameters) { MLNodesCollection nodesML = new MLNodesCollection(); // Añade los parámetros foreach (ParameterModel parameter in parameters) { MLNode nodeML = nodesML.Add(TagParameter); // Añade las propiedades nodeML.Attributes.Add(TagId, parameter.GlobalId); nodeML.Attributes.Add(TagType, parameter.Type.ToString()); nodeML.Value = parameter.Value; } // Devuelve la colección de parámetros return(nodesML); }
/// <summary> /// Obtiene los parámetros /// </summary> private Dictionary <string, object> GetParameters(BaseModelCollection <ParameterModel> deploymentParameters, BaseModelCollection <ParameterModel> scriptParameters) { Dictionary <string, object> converted = new Dictionary <string, object>(); // Asigna los parámetros del script (antes que los de la distribución) foreach (ParameterModel parameter in scriptParameters) { if (!converted.ContainsKey(parameter.GlobalId.ToUpper())) { converted.Add(parameter.GlobalId, parameter.Value); } } // Asigna los parámetros de la distribución foreach (ParameterModel parameter in deploymentParameters) { if (!converted.ContainsKey(parameter.GlobalId.ToUpper())) { converted.Add(parameter.GlobalId, parameter.Value); } } // Devuelve los parámetros convertidos return(converted); }