コード例 #1
0
        public DataSourceInfoCollection CombineOnSetDataSources(DataSourceInfoCollection newDataSources)
        {
            DataSourceInfoCollection dataSourceInfoCollection = new DataSourceInfoCollection();

            foreach (DataSourceInfo newDataSource in newDataSources)
            {
                DataSourceInfo byOriginalName = this.GetByOriginalName(newDataSource.OriginalName);
                if (byOriginalName == null)
                {
                    throw new DataSourceNotFoundException(newDataSource.OriginalName);
                }
                newDataSource.ID = byOriginalName.ID;
                newDataSource.SetOriginalConnectionString(byOriginalName.OriginalConnectionStringEncrypted);
                newDataSource.SetOriginalConnectStringExpressionBased(byOriginalName.OriginalConnectStringExpressionBased);
                dataSourceInfoCollection.Add(newDataSource);
            }
            foreach (DataSourceInfo item in this)
            {
                DataSourceInfo byOriginalName2 = newDataSources.GetByOriginalName(item.OriginalName);
                if (byOriginalName2 == null)
                {
                    dataSourceInfoCollection.Add(item);
                }
            }
            return(dataSourceInfoCollection);
        }
コード例 #2
0
 public DataSourceInfo GetByName(string name, ICatalogItemContext report)
 {
     if (this.m_collectionByReport != null)
     {
         DataSourceInfoCollection dataSourceInfoCollection = (DataSourceInfoCollection)this.m_collectionByReport[report.StableItemPath];
         if (dataSourceInfoCollection != null)
         {
             return(dataSourceInfoCollection.GetByOriginalName(name));
         }
     }
     return(null);
 }