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); }
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); } }
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(); } } }
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(); }