Exemple #1
0
        /// <summary>
        /// Applies a member mapping to this method body's implementation,
        /// 'this' parameter, parameter list and return parameter.
        /// The result is returned as a new method body.
        /// </summary>
        /// <param name="memberMapping">The member mapping to apply.</param>
        /// <returns>A new method body.</returns>
        public MethodBody Map(MemberMapping memberMapping)
        {
            var newRetParam  = ReturnParameter.Map(memberMapping);
            var newThisParam = ThisParameter.Map(memberMapping);
            var newParamList = Parameter.MapAll(Parameters, memberMapping);
            var newImpl      = Implementation.Map(memberMapping);

            return(new MethodBody(newRetParam, newThisParam, newParamList, newImpl));
        }
Exemple #2
0
        static void OldMain()
        {
            bool b = false; // Remove "Unreachable Code" warning

            if (b)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            } // End if (false)


            string strPath = @"S:\StefanSteiger\COR_Basic\";

            //string strReport = "GM_Gebaeudestammdaten.rdl";
            string strReport = "GM_Gebaeudestammdaten_ML.rdl";

            strReport = "AL_Anlageninventar_ML.rdl";
            strReport = "FM_NutzungsartenDIN_277_Wincasa_ML.rdl";
            strReport = "FM_NutzungsartenDIN_277_Wincasa_ML.rdl";
            strReport = "KU_Kunstinventar_ML.rdl";

            string FILE_NAME = System.IO.Path.Combine(strPath, strReport);

            // AddProc(FILE_NAME);
            // AddMandant(FILE_NAME);

            // ReadUsingReportViewer(FILE_NAME);
            //Select the cd node with the matching title
            System.Xml.XmlDocument doc = XmlTools.File2XmlDocument(FILE_NAME);



            string strXML = @"
<result>
    <relatedProducts>
        <item>
            <id>123foo</id>
            <name>foo</name>
            <text>Foobar</text>
        </item>
        <item>
            <id>hello</id>
            <name>bye</name>
            <text>ciao</text>
        </item>
        <item>
            <id></id>
            <name></name>
            <text></text>
        </item>
    </relatedProducts>
</result>
";

            System.Xml.XmlDocument mydoc = new System.Xml.XmlDocument();
            mydoc.LoadXml(strXML);

            //System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[text()"); // Should be: mydoc.SelectNodes("//*/*[text()");
            //System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[contains(text(), 'foo')]");
            System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[contains(translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜÉÈÊÀÁÂÒÓÔÙÚÛÇÅÏÕÑŒ', 'abcdefghijklmnopqrstuvwxyzäöüéèêàáâòóôùúûçåïõñœ'),'foo')]"); // Should be: mydoc.SelectNodes("//*/*[text()");
            Console.WriteLine(x.Count);



            //Select the cd node with the matching title
            System.Xml.XmlElement          root  = doc.DocumentElement;
            System.Xml.XmlNamespaceManager nsmgr = ReportServerTools.GetReportNamespaceManager(doc);


            //System.Xml.XmlNodeList xxx = oldCd.SelectNodes("xpath");

            //System.Xml.XmlNodeList xxx = root.SelectNodes("//*/dft:*[text()=\"String\"]", nsmgr);
            System.Xml.XmlNodeList xxx = root.SelectNodes("//*/dft:*[text()]", nsmgr);
            Console.WriteLine(xxx.Count);



            System.Xml.XmlNode oldCd = root.SelectSingleNode("/dft:Report/dft:DataSources/dft:DataSource[@Name=\"COR_Basic\"]", nsmgr);


            // System.Xml.XmlNode RepParams = root.SelectSingleNode("/dft:Report/dft:ReportParameters", nsmgr);
            // System.Xml.XmlNodeList AllParams = RepParams.SelectNodes("//dft:ReportParameter", nsmgr);



            // http://stackoverflow.com/questions/3655549/xpath-containstext-some-string-doesnt-work-when-used-with-node-with-more
            //System.Xml.XmlNodeList AllParams = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter", nsmgr);
            System.Xml.XmlNodeList AllParams = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter/dft:Prompt[contains(text(),\"Liegenschaft\")]", nsmgr);
            Console.WriteLine(AllParams.Count);



            Console.WriteLine(" ----------------------------------------- ");


            foreach (System.Xml.XmlNode ThisParameter in AllParams)
            {
                // XmlAttribute a = doc.SelectSingleNode("/reply/@success");
                Console.WriteLine(ThisParameter.Attributes["Name"].Value);

                System.Xml.XmlNode ParamDataType = ThisParameter.SelectSingleNode("//dft:DataType", nsmgr);
                Console.WriteLine(ParamDataType.FirstChild.Value);
            } // Next ThisParameter

            System.Xml.XmlNodeList stichtage = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]", nsmgr);
            System.Xml.XmlNode     stichtag  = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]", nsmgr);

            System.Xml.XmlNode stichtagvalue = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]/dft:DefaultValue/dft:Values/dft:Value", nsmgr);

            Console.WriteLine(stichtagvalue.FirstChild.Value);


            // /dft:Report/dft:ReportParameters/dft:ReportParameter[@Name="in_gebaeude"]



            System.Xml.XmlNode datasetname = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_gebaeude\"]/dft:DefaultValue/dft:DataSetReference/dft:DataSetName", nsmgr);
            string             dataset     = datasetname.FirstChild.Value;

            System.Xml.XmlNode dsn = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]", nsmgr);


            System.Xml.XmlNode dsn3 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query", nsmgr);

            System.Xml.XmlNode commandtextnode = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:CommandText", nsmgr);
            string             commandText     = commandtextnode.FirstChild.Value;

            Console.WriteLine(commandText);


            System.Xml.XmlNodeList AllDatasetParams = root.SelectNodes("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters/dft:QueryParameter", nsmgr);
            Console.WriteLine(AllDatasetParams.Count);

            Console.WriteLine(" ----------------------------------------- ");
            foreach (System.Xml.XmlNode DataSetParameter in AllDatasetParams)
            {
                string strName = DataSetParameter.Attributes["Name"].Value;
                string lala    = DataSetParameter.FirstChild.FirstChild.Value;
                Console.WriteLine(lala);

                Console.WriteLine(strName);
            } // Next DataSetParameter


            System.Xml.XmlNode dsn5 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters", nsmgr);
            System.Xml.XmlNode dsn6 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters/dft:QueryParameter", nsmgr);


            System.Xml.XmlNodeList embeddedImages = root.SelectNodes("/dft:Report/dft:EmbeddedImages/dft:EmbeddedImage", nsmgr);


            System.Xml.XmlNode stao = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_standort\"]", nsmgr);
            if (stao != null)
            {
                Console.WriteLine("Has stao");
            }


            Console.WriteLine(stichtag);

            // /dft:Report/dft:PageHeader/dft:ReportItems/dft:Image/dft:Value[text()="=Convert.FromBase64String(Parameters!def_logo.Value)"]
            // /dft:Report/dft:PageHeader/dft:ReportItems/dft:Image/dft:Visibility/dft:Hidden[text()="=CBool(Parameters!def_HideLogo.Value)"]



            // System.Xml.XmlElement newCd = doc.CreateElement("cd");
            // newCd.SetAttribute("country", "country.Text");

            // newCd.InnerXml = "<title>" + this.comboBox1.Text + "</title>" + "<artist>" + artist.Text + "</artist>" + "<price>" + price.Text + "</price>";

            // root.ReplaceChild(newCd, oldCd);

            //save the output to a file
            //doc.Save(FILE_NAME);


            Console.WriteLine(Environment.NewLine);
            Console.WriteLine(" --- Press any key to continue --- ");
            Console.ReadKey();
        } // End Sub Main