Ejemplo n.º 1
0
        public DataSourcePromptCollection GetReportDataSourcePrompts(out bool allCredentialsSatisfied)
        {
            RuntimeDataSourceInfoCollection runtimeDataSourceInfoCollection = default(RuntimeDataSourceInfoCollection);
            RuntimeDataSetInfoCollection    runtimeDataSetInfoCollection    = default(RuntimeDataSetInfoCollection);

            this.GetAllReportDataSourcesAndSharedDataSets(out runtimeDataSourceInfoCollection, out runtimeDataSetInfoCollection);
            DatasourceCredentialsCollection datasourceCredentialsCollection = new DatasourceCredentialsCollection();

            foreach (DatasourceCredentials credential in this.m_executionSession.Credentials)
            {
                DataSourceInfo byOriginalName = runtimeDataSourceInfoCollection.GetByOriginalName(credential.PromptID);
                if (byOriginalName != null && byOriginalName.CredentialsRetrieval == DataSourceInfo.CredentialsRetrievalOption.Prompt)
                {
                    datasourceCredentialsCollection.Add(credential);
                }
            }
            runtimeDataSourceInfoCollection.SetCredentials(datasourceCredentialsCollection, DataProtectionLocal.Instance);
            ServerDataSourceSettings   serverDatasourceSettings = new ServerDataSourceSettings(true, true);
            DataSourcePromptCollection promptRepresentatives    = runtimeDataSourceInfoCollection.GetPromptRepresentatives(serverDatasourceSettings);

            allCredentialsSatisfied = !runtimeDataSourceInfoCollection.NeedPrompt;
            return(promptRepresentatives);
        }