private static void ResortControlsForTrendscape( ref XmlNode currCntrlContainer, XmlNode cntrlNode, XmlNode currNode, XmlNode controlNode, ref bool breakWork, String optionCaptionML) { MetadataDocumentManagement metaDataDocMgt = MetadataDocumentManagement.Instance; if (metaDataDocMgt.MoveElementsDoc == null) { return; } StringBuilder queryPromoted = new StringBuilder(); queryPromoted.Append(@"./a:MovePageElements/a:Page[@ID='"); queryPromoted.Append(((int)MovePageElements.NotFormsId.TrendscapeControls).ToString(CultureInfo.InvariantCulture)); queryPromoted.Append("' and @OptionCaptionML ='"); queryPromoted.Append(optionCaptionML.Replace("'", "")); queryPromoted.Append("']"); XmlNode trend = metaDataDocMgt.MoveElementsDoc.SelectSingleNode(queryPromoted.ToString(), metaDataDocMgt.XmlNamespaceMgt); if (trend == null) { return; } if (GetProperty(controlNode, "CaptionML") == null) { XmlNode propNode = controlNode.SelectSingleNode( @"./a:Properties", metaDataDocMgt.XmlNamespaceMgt); string captionMlFromFile = GetAttribute(trend, "CaptionML"); propNode.AppendChild(XmlUtility.CreateXmlElement("CaptionML", captionMlFromFile)); propNode.AppendChild(XmlUtility.CreateXmlElement("TempProperty", "Trendscape")); XmlNode cntrlTypeNode = propNode.SelectSingleNode( @"./a:Controltype", metaDataDocMgt.XmlNamespaceMgt); if ((cntrlTypeNode != null) && (cntrlTypeNode.InnerText == "RadioButton")) { cntrlTypeNode.InnerText = "Field"; } } if (currCntrlContainer == null) { Boolean done = false; XmlNode tempCurrNode = currNode; if (tempCurrNode != null) { while (!done) { if (((tempCurrNode.Name == "Control") && (GetProperty(tempCurrNode, "Controltype") == "Part")) || ((tempCurrNode.Name == "Group") && (GetProperty(tempCurrNode, "GroupType") == "Repeater"))) { if ((tempCurrNode.PreviousSibling != null) && (tempCurrNode.PreviousSibling.Name == "Group") && (GetProperty(tempCurrNode.PreviousSibling, "CaptionML").Contains("ENU=Options"))) { currCntrlContainer = tempCurrNode.PreviousSibling; currCntrlContainer.AppendChild(controlNode.ParentNode.RemoveChild(controlNode)); } else { tempCurrNode = cntrlNode.InsertBefore( PageControls.CreateBand( /*metaDataDocMgt.GetNewId.ToString(CultureInfo.InvariantCulture)*/ metaDataDocMgt.CalcId(null, "Options", "ContentArea").ToString(CultureInfo.InvariantCulture), "ENU=Options"), tempCurrNode); currCntrlContainer = tempCurrNode; currCntrlContainer.AppendChild(controlNode.ParentNode.RemoveChild(controlNode)); } done = true; } if (tempCurrNode != null) { break; } } if (!done) { tempCurrNode = tempCurrNode.PreviousSibling; if (tempCurrNode != null) { if (tempCurrNode.Name == "Properties") { breakWork = true; } } } } if (done) { breakWork = true; } } else if ((currCntrlContainer.Name == "Group") && (GetProperty(currCntrlContainer, "CaptionML").Contains("ENU=Options"))) { currCntrlContainer.AppendChild(controlNode.ParentNode.RemoveChild(controlNode)); breakWork = true; } }