public void AddParameter(FormParameter parameter) { var formXml = form.GetAttributeValue <string>("formxml"); var doc = new XmlDocument(); doc.LoadXml(formXml); var parametersListNode = doc.SelectSingleNode(ParametersListXPath); if (parametersListNode == null) { parametersListNode = doc.CreateElement("formparameters"); doc.SelectSingleNode("form").AppendChild(parametersListNode); } var parameterNode = parametersListNode.SelectSingleNode(string.Format("querystringparameter[@name='{0}']", parameter.Name)); if (parameterNode != null) { throw new XmlException(string.Format("A parameter with the name '{0}' already exists in this form", parameter.Name)); } // Create Xml Node parameterNode = doc.CreateElement("querystringparameter"); var nameAttribute = doc.CreateAttribute("name"); nameAttribute.Value = parameter.Name; var typeAttribute = doc.CreateAttribute("type"); typeAttribute.Value = parameter.Type.ToString(); parameterNode.Attributes.Append(nameAttribute); parameterNode.Attributes.Append(typeAttribute); parametersListNode.AppendChild(parameterNode); form["formxml"] = doc.OuterXml; var parameterToAdd = (FormParameter)parameter.Clone(); parameterToAdd.ParentForm = this; Parameters.Add(parameterToAdd); }
public void AddParameter(FormParameter parameter) { var formXml = form.GetAttributeValue<string>("formxml"); var doc = new XmlDocument(); doc.LoadXml(formXml); var parametersListNode = doc.SelectSingleNode(ParametersListXPath); if (parametersListNode == null) { parametersListNode = doc.CreateElement("formparameters"); doc.SelectSingleNode("form").AppendChild(parametersListNode); } var parameterNode = parametersListNode.SelectSingleNode(string.Format("querystringparameter[@name='{0}']", parameter.Name)); if (parameterNode != null) { throw new XmlException(string.Format("A parameter with the name '{0}' already exists in this form", parameter.Name)); } // Create Xml Node parameterNode = doc.CreateElement("querystringparameter"); var nameAttribute = doc.CreateAttribute("name"); nameAttribute.Value = parameter.Name; var typeAttribute = doc.CreateAttribute("type"); typeAttribute.Value = parameter.Type.ToString(); parameterNode.Attributes.Append(nameAttribute); parameterNode.Attributes.Append(typeAttribute); parametersListNode.AppendChild(parameterNode); form["formxml"] = doc.OuterXml; var parameterToAdd = (FormParameter)parameter.Clone(); parameterToAdd.ParentForm = this; Parameters.Add(parameterToAdd); }