Beispiel #1
0
        internal string GetReportParameterDefaultValue(string parameterExpression)
        {
            var root = _doc.DocumentElement;

            XmlNode rNode   = _doc.LastChild;
            XmlNode rpsNode = DesignXmlDraw.FindNextInHierarchy(rNode, "ReportParameters");

            if (rpsNode == null)
            {
                return(null);
            }

            var parameterName = DesignerUtility.ExtractParameterNameFromParameterExpression(parameterExpression);

            var parameter = rpsNode.ChildNodes.Cast <XmlNode>()
                            .FirstOrDefault(n => n.Attributes["Name"].Value == parameterName);

            if (parameter == null)
            {
                //ERROR, parameter not found;
                return(null);
            }

            var defaultValue = parameter.ChildNodes.Cast <XmlNode>()
                               .FirstOrDefault(n => n.Name == "DefaultValue");

            if (defaultValue == null)
            {
                // ERROR, no default value;
                return(null);
            }

            // selecting DefaultValue/Values/Value
            return(defaultValue.FirstChild.FirstChild.InnerText);
        }