public static Stream UpgradeToCurrent(Stream stream, bool throwUpgradeException, bool renameInvalidDataSources, out RDLUpgradeResult upgradeResults) { if (!stream.CanSeek) { throw new ArgumentException("Upgrade reqires Stream.CanSeek."); } RdlUpgrader rdlUpgrader = new RdlUpgrader(); return(rdlUpgrader.Upgrade(stream, throwUpgradeException, true, renameInvalidDataSources, out upgradeResults)); }
public static string Get2005NamespaceURI() { return(RdlUpgrader.Get2005NamespaceURI()); }
public static string GetCurrentNamespaceURI() { return(RdlUpgrader.Get2016NamespaceURI()); }
public static RDLUpgradeResult CheckForDundasCRI(XmlTextReader xmlTextReader) { RDLUpgradeResult rDLUpgradeResult = new RDLUpgradeResult(); try { xmlTextReader.MoveToContent(); if (xmlTextReader.NamespaceURI.Equals(RdlUpgrader.Get2005NamespaceURI(), StringComparison.OrdinalIgnoreCase)) { while (xmlTextReader.ReadToFollowing("CustomReportItem")) { bool flag = false; bool flag2 = false; bool flag3 = false; bool flag4 = false; bool flag5 = false; bool flag6 = false; bool flag7 = false; bool flag8 = false; bool flag9 = false; bool flag10 = false; bool flag11 = false; xmlTextReader.ReadStartElement(); do { if (xmlTextReader.NodeType == XmlNodeType.Element) { if (xmlTextReader.Name == "Type") { string text = xmlTextReader.ReadInnerXml(); flag = text.Equals("DUNDASCHARTCONTROL", StringComparison.OrdinalIgnoreCase); flag2 = text.Equals("DUNDASGAUGECONTROL", StringComparison.OrdinalIgnoreCase); if (!flag && !flag2) { break; } } else if (xmlTextReader.Name == "CustomProperties") { xmlTextReader.ReadStartElement(); do { if (xmlTextReader.Name == "Name") { string text2 = xmlTextReader.ReadInnerXml(); if (text2.StartsWith("CHART.ANNOTATIONS.", StringComparison.OrdinalIgnoreCase)) { flag3 = true; } if (text2.StartsWith("CHART.LEGENDS", StringComparison.OrdinalIgnoreCase) && (text2.IndexOf("LEGEND.CUSTOMITEMS.", StringComparison.OrdinalIgnoreCase) > 0 || text2.IndexOf("LEGEND.CELLCOLUMNS.", StringComparison.OrdinalIgnoreCase) > 0)) { flag4 = true; } if (text2.StartsWith("GAUGECORE.NUMERICINDICATORS.", StringComparison.OrdinalIgnoreCase)) { flag5 = true; } if (text2.StartsWith("GAUGECORE.STATEINDICATORS.", StringComparison.OrdinalIgnoreCase)) { flag6 = true; } if (text2.StartsWith("GAUGECORE.NAMEDIMAGES.", StringComparison.OrdinalIgnoreCase) || text2.StartsWith("GAUGECORE.IMAGES.", StringComparison.OrdinalIgnoreCase)) { flag7 = true; } if (text2.StartsWith("CUSTOM_CODE_CS", StringComparison.OrdinalIgnoreCase) || text2.StartsWith("CUSTOM_CODE_VB", StringComparison.OrdinalIgnoreCase) || text2.StartsWith("CUSTOM_CODE_COMPILED_ASSEMBLY", StringComparison.OrdinalIgnoreCase)) { flag8 = true; } } }while ((!(xmlTextReader.Name == "CustomProperties") || xmlTextReader.NodeType != XmlNodeType.EndElement) && xmlTextReader.Read()); } else if (xmlTextReader.Name == "CustomData") { bool flag12 = false; bool flag13 = false; xmlTextReader.ReadStartElement(); do { if (xmlTextReader.Name == "DataRowGroupings") { if (xmlTextReader.NodeType == XmlNodeType.Element) { flag12 = true; } else if (xmlTextReader.NodeType == XmlNodeType.EndElement) { flag12 = false; } } else if (flag12 && xmlTextReader.Name == "Name") { string text3 = xmlTextReader.ReadInnerXml(); if (text3.Equals("ERRORFORMULA:BOXPLOT", StringComparison.OrdinalIgnoreCase) || text3.Equals("FINANCIALFORMULA:FORECASTING", StringComparison.OrdinalIgnoreCase)) { flag9 = true; } if (text3.StartsWith("ERRORFORMULA", StringComparison.OrdinalIgnoreCase) || text3.StartsWith("FINANCIALFORMULA", StringComparison.OrdinalIgnoreCase) || text3.StartsWith("STATISTICALFORMULA", StringComparison.OrdinalIgnoreCase)) { xmlTextReader.Skip(); string[] array = xmlTextReader.ReadInnerXml().Split(';'); string[] array2 = array; foreach (string text4 in array2) { if (text4.Trim().StartsWith("SECONDARYAXIS", StringComparison.OrdinalIgnoreCase)) { flag10 = true; } } } } else if (xmlTextReader.Name == "DataRows") { if (xmlTextReader.NodeType == XmlNodeType.Element) { flag13 = true; } else if (xmlTextReader.NodeType == XmlNodeType.EndElement) { flag13 = false; } } else if (flag13 && xmlTextReader.Name == "Name") { string text5 = xmlTextReader.ReadInnerXml(); if (text5.StartsWith("CUSTOMVALUE:", StringComparison.OrdinalIgnoreCase)) { flag11 = true; } } }while ((!(xmlTextReader.Name == "CustomData") || xmlTextReader.NodeType != XmlNodeType.EndElement) && xmlTextReader.Read()); } } xmlTextReader.Skip(); }while (xmlTextReader.NodeType != XmlNodeType.EndElement); if (flag) { if (flag3 || flag4 || flag8 || flag9 || flag10 || flag11) { rDLUpgradeResult.HasUnsupportedDundasChartFeatures = true; } } else if (flag2 && (flag5 || flag6 || flag7 || flag8)) { rDLUpgradeResult.HasUnsupportedDundasGaugeFeatures = true; } } return(rDLUpgradeResult); } return(rDLUpgradeResult); } catch { return(rDLUpgradeResult); } }
public static Stream UpgradeToCurrent(XmlReader rdlReader, string namespaceURI, bool throwUpgradeException, bool upgradeDundasCRIToNative, out RDLUpgradeResult upgradeResults) { RdlUpgrader rdlUpgrader = new RdlUpgrader(); return(rdlUpgrader.Upgrade(rdlReader, namespaceURI, throwUpgradeException, upgradeDundasCRIToNative, out upgradeResults)); }
private void UpgradeFrom200901() { XmlElement documentElement = this.m_definition.DocumentElement; string prefixOfNamespace = documentElement.GetPrefixOfNamespace("http://schemas.microsoft.com/sqlserver/reporting/2009/01/reportdefinition"); string text = this.BuildTempNamespacePrefix(prefixOfNamespace, documentElement); XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(this.m_definition.NameTable); xmlNamespaceManager.AddNamespace(text, "http://schemas.microsoft.com/sqlserver/reporting/2009/01/reportdefinition"); XmlNodeList xmlNodeList = documentElement.SelectNodes(string.Format(CultureInfo.InvariantCulture, "//{0}:Chart", text), xmlNamespaceManager); foreach (XmlNode item in xmlNodeList) { XmlNode xmlNode2 = item.SelectSingleNode(text + ":Code", xmlNamespaceManager); if (xmlNode2 != null) { item.RemoveChild(xmlNode2); } XmlNode xmlNode3 = item.SelectSingleNode(text + ":CodeLanguage", xmlNamespaceManager); if (xmlNode3 != null) { item.RemoveChild(xmlNode3); } XmlNode xmlNode4 = item.SelectSingleNode(text + ":ChartCodeParameters", xmlNamespaceManager); if (xmlNode4 != null) { item.RemoveChild(xmlNode4); } string xpath = string.Format(CultureInfo.InvariantCulture, "{0}:ChartAreas/{0}:ChartArea/*/{0}:ChartAxis/{0}:ChartStripLines/{0}:ChartStripLine", text); XmlNodeList xmlNodeList2 = item.SelectNodes(xpath, xmlNamespaceManager); foreach (XmlNode item2 in xmlNodeList2) { XmlNode xmlNode6 = item2.SelectSingleNode(text + ":TitleAngle", xmlNamespaceManager); if (xmlNode6 != null) { item2.RemoveChild(xmlNode6); } } } this.UpdateNamespaceURI(documentElement, "http://schemas.microsoft.com/sqlserver/reporting/2009/01/reportdefinition", RdlUpgrader.Get2010NamespaceURI()); }
private void UpgradeFrom200701() { XmlElement documentElement = this.m_definition.DocumentElement; string prefixOfNamespace = documentElement.GetPrefixOfNamespace("http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); string text = this.BuildTempNamespacePrefix(prefixOfNamespace, documentElement); XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(this.m_definition.NameTable); xmlNamespaceManager.AddNamespace(text, "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); XmlNodeList elementsByTagName = documentElement.GetElementsByTagName("Textbox"); foreach (XmlNode item in elementsByTagName) { XmlNode xmlNode2 = item.SelectSingleNode(text + ":Style", xmlNamespaceManager); XmlNode xmlNode3 = item.SelectSingleNode(text + ":Value", xmlNamespaceManager); XmlElement xmlElement = this.m_definition.CreateElement(prefixOfNamespace, "Paragraphs", "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); XmlElement xmlElement2 = this.m_definition.CreateElement(prefixOfNamespace, "Paragraph", "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); XmlElement xmlElement3 = this.m_definition.CreateElement(prefixOfNamespace, "TextRuns", "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); XmlElement xmlElement4 = this.m_definition.CreateElement(prefixOfNamespace, "TextRun", "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); xmlElement3.AppendChild(xmlElement4); xmlElement2.AppendChild(xmlElement3); xmlElement.AppendChild(xmlElement2); item.AppendChild(xmlElement); if (xmlNode3 != null) { xmlNode3 = item.RemoveChild(xmlNode3); xmlElement4.AppendChild(xmlNode3); } else { xmlNode3 = this.m_definition.CreateElement(prefixOfNamespace, "Value", "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); xmlElement4.AppendChild(xmlNode3); } if (xmlNode2 != null) { string value = item.Attributes.GetNamedItem("Name").Value; XmlNode xmlNode4 = this.m_definition.CreateElement(prefixOfNamespace, "Style", "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); this.MoveStyleItemIfExists("LineHeight", xmlNode2, xmlNode4, text, xmlNamespaceManager); this.MoveStyleItemIfExists("TextAlign", xmlNode2, xmlNode4, text, xmlNamespaceManager); if (xmlNode4.HasChildNodes) { this.ConvertMeDotValueExpressions(xmlNode4.ChildNodes, value); } xmlElement2.AppendChild(xmlNode4); XmlNode xmlNode5 = this.m_definition.CreateElement(prefixOfNamespace, "Style", "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition"); this.MoveStyleItemIfExists("FontStyle", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("FontFamily", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("FontSize", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("FontWeight", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("Format", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("TextDecoration", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("Color", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("Language", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("Calendar", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("NumeralLanguage", xmlNode2, xmlNode5, text, xmlNamespaceManager); this.MoveStyleItemIfExists("NumeralVariant", xmlNode2, xmlNode5, text, xmlNamespaceManager); if (xmlNode5.HasChildNodes) { this.ConvertMeDotValueExpressions(xmlNode5.ChildNodes, value); } xmlElement4.AppendChild(xmlNode5); } } this.UpgradeCharts(documentElement, xmlNamespaceManager, "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition", prefixOfNamespace, text); this.UpdateNamespaceURI(documentElement, "http://schemas.microsoft.com/sqlserver/reporting/2007/01/reportdefinition", RdlUpgrader.Get2008NamespaceURI()); }
internal static string Get2007NamespaceURI() { return(RdlUpgrader.Get2007NamespaceURI()); }