Exemple #1
0
        protected virtual ICoreChildProvider GetChildProvider()
        {
            // Build new CoreChildProvider in a temp then update to it to avoid stale references
            ICoreChildProvider temp = null;

            //prefer a linked repository with both
            if (RepositoryLocator.DataExportRepository != null)
            {
                try
                {
                    temp = new DataExportChildProvider(RepositoryLocator, PluginUserInterfaces.ToArray(), GlobalErrorCheckNotifier, CoreChildProvider as DataExportChildProvider);
                }
                catch (Exception e)
                {
                    ShowException("Error constructing DataExportChildProvider", e);
                }
            }

            //there was an error generating a data export repository or there was no repository specified

            //so just create a catalogue one
            if (temp == null)
            {
                temp = new CatalogueChildProvider(RepositoryLocator.CatalogueRepository, PluginUserInterfaces.ToArray(), GlobalErrorCheckNotifier, CoreChildProvider as CatalogueChildProvider);
            }

            // first time
            if (CoreChildProvider == null)
            {
                CoreChildProvider = temp;
            }
            else
            {
                CoreChildProvider.UpdateTo(temp);
            }

            return(CoreChildProvider);
        }
Exemple #2
0
        /// <inheritdoc/>
        public virtual void Publish(DatabaseEntity databaseEntity)
        {
            var fresh = GetChildProvider();

            CoreChildProvider.UpdateTo(fresh);
        }
Exemple #3
0
        /// <inheritdoc/>
        public virtual void Publish(IMapsDirectlyToDatabaseTable databaseEntity)
        {
            var fresh = GetChildProvider();

            CoreChildProvider.UpdateTo(fresh);
        }