Пример #1
0
 public void SetReportParameters(NameValueCollection allReportParameters, IParametersTranslator paramsTranslator)
 {
     if (allReportParameters != null)
     {
         string text = allReportParameters["rs:StoredParametersID"];
         if (text != null)
         {
             ExternalItemPath    externalItemPath    = default(ExternalItemPath);
             NameValueCollection nameValueCollection = default(NameValueCollection);
             paramsTranslator.GetParamsInstance(text, out externalItemPath, out nameValueCollection);
             if (nameValueCollection == null)
             {
                 throw new StoredParameterNotFoundException(text.MarkAsPrivate());
             }
             NameValueCollection nameValueCollection2 = new NameValueCollection();
             foreach (string item in nameValueCollection)
             {
                 string[] values = nameValueCollection.GetValues(item);
                 RSRequestParameters.TryToAddToCollection(item, values, "", true, nameValueCollection2);
             }
             this.m_reportParameters = nameValueCollection2;
             return;
         }
     }
     this.SetReportParameters(allReportParameters);
 }
Пример #2
0
        private static void ParseQueryString(ExternalItemPath itemPath, IParametersTranslator paramsTranslator, NameValueCollection allParametersCollection, out NameValueCollection rsParameters, out NameValueCollection rcParameters, out NameValueCollection reportParameters, out DatasourceCredentialsCollection dsParameters, out Hashtable reverseLookup)
        {
            dsParameters     = null;
            reverseLookup    = null;
            rsParameters     = new NameValueCollection();
            rcParameters     = new NameValueCollection();
            reportParameters = new NameValueCollection();
            NameValueCollection nameValueCollection  = new NameValueCollection();
            NameValueCollection nameValueCollection2 = new NameValueCollection();
            ExternalItemPath    externalItemPath     = null;

            if (allParametersCollection != null)
            {
                RSRequestParameters.ResolveServerParameters(paramsTranslator, allParametersCollection, rsParameters, rcParameters, nameValueCollection, nameValueCollection2, reportParameters, out reverseLookup, out externalItemPath);
                if (externalItemPath != null && Localization.CatalogCultureCompare(itemPath.Value, externalItemPath.Value) != 0)
                {
                    rsParameters         = new NameValueCollection();
                    rcParameters         = new NameValueCollection();
                    nameValueCollection  = new NameValueCollection();
                    nameValueCollection2 = new NameValueCollection();
                    reportParameters     = new NameValueCollection();
                    reverseLookup        = null;
                    if (RSTrace.CatalogTrace.TraceInfo)
                    {
                        string message = string.Format(CultureInfo.InvariantCulture, "Requested item path '{0}' doesn't match stored parameters path '{1}'.", itemPath.Value.MarkAsPrivate(), externalItemPath.Value.MarkAsPrivate());
                        RSTrace.CatalogTrace.Trace(TraceLevel.Info, message);
                    }
                }
                for (int i = 0; i < allParametersCollection.Count; i++)
                {
                    string   text  = allParametersCollection.GetKey(i);
                    string[] array = allParametersCollection.GetValues(i);
                    if (array != null && text != null)
                    {
                        if (StringSupport.EndsWith(text, ":isnull", true, CultureInfo.InvariantCulture))
                        {
                            text = text.Substring(0, text.Length - ":isnull".Length);
                            string[] array2 = new string[1];
                            array = array2;
                        }
                        if (!RSRequestParameters.TryToAddToCollection(text, array, "rs:", false, rsParameters) && !RSRequestParameters.TryToAddToCollection(text, array, "rc:", false, rcParameters) && !RSRequestParameters.TryToAddToCollection(text, array, "dsu:", false, nameValueCollection) && !RSRequestParameters.TryToAddToCollection(text, array, "dsp:", false, nameValueCollection2))
                        {
                            RSRequestParameters.TryToAddToCollection(text, array, "", true, reportParameters);
                        }
                    }
                }
                dsParameters = new DatasourceCredentialsCollection(nameValueCollection, nameValueCollection2);
            }
        }
Пример #3
0
        private static void ResolveServerParameters(IParametersTranslator paramsTranslator, NameValueCollection allParametersCollection, NameValueCollection rsParameters, NameValueCollection rcParameters, NameValueCollection dsuParameters, NameValueCollection dspParameters, NameValueCollection reportParameters, out Hashtable reverseLookup, out ExternalItemPath itemPath)
        {
            reverseLookup = new Hashtable();
            itemPath      = null;
            StringCollection stringCollection = new StringCollection();

            for (int i = 0; i < allParametersCollection.Count; i++)
            {
                string key = allParametersCollection.GetKey(i);
                if (key != null && StringComparer.OrdinalIgnoreCase.Compare(key, "rs:StoredParametersID") == 0)
                {
                    string text = allParametersCollection[i];
                    NameValueCollection nameValueCollection = default(NameValueCollection);
                    paramsTranslator.GetParamsInstance(text, out itemPath, out nameValueCollection);
                    if (nameValueCollection == null)
                    {
                        throw new StoredParameterNotFoundException(text.MarkAsPrivate());
                    }
                    reverseLookup.Add(new ReportParameterCollection(nameValueCollection), text);
                    stringCollection.Add(key);
                    foreach (string item in nameValueCollection)
                    {
                        string[] values = nameValueCollection.GetValues(item);
                        if (!RSRequestParameters.TryToAddToCollection(item, values, "rs:", false, rsParameters) && !RSRequestParameters.TryToAddToCollection(item, values, "rc:", false, rcParameters) && !RSRequestParameters.TryToAddToCollection(item, values, "dsu:", false, dsuParameters) && !RSRequestParameters.TryToAddToCollection(item, values, "dsp:", false, dspParameters))
                        {
                            RSRequestParameters.TryToAddToCollection(item, values, "", true, reportParameters);
                        }
                    }
                }
            }
            StringEnumerator enumerator2 = stringCollection.GetEnumerator();

            try
            {
                while (enumerator2.MoveNext())
                {
                    string current = enumerator2.Current;
                    allParametersCollection.Remove(current);
                }
            }
            finally
            {
                IDisposable disposable = enumerator2 as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
        }
Пример #4
0
 public void ParseQueryString(NameValueCollection allParametersCollection, IParametersTranslator paramsTranslator, ExternalItemPath itemPath)
 {
     RSRequestParameters.ParseQueryString(itemPath, paramsTranslator, allParametersCollection, out this.m_catalogParameters, out this.m_renderingParameters, out this.m_reportParameters, out this.m_datasourcesCred, out this.m_reverseLookupParameters);
     this.ApplyDefaultRenderingParameters();
 }