コード例 #1
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// The Install method installs the UrlProvider component.
        /// </summary>
        /// -----------------------------------------------------------------------------
        public override void Install()
        {
            try
            {
                // Ensure DesktopModule Cache is cleared
                DataCache.RemoveCache(string.Format(DataCache.DesktopModuleCacheKey, Null.NullInteger));

                var desktopModule = DesktopModuleController.GetDesktopModuleByModuleName(this._desktopModuleName, Null.NullInteger);
                if (desktopModule != null)
                {
                    this._extensionUrlProvider.DesktopModuleId = desktopModule.DesktopModuleID;
                }

                // Attempt to get the Desktop Module
                this._installedExtensionUrlProvider = ExtensionUrlProviderController.GetProviders(Null.NullInteger)
                                                      .SingleOrDefault(p => p.ProviderType == this._extensionUrlProvider.ProviderType);

                if (this._installedExtensionUrlProvider != null)
                {
                    this._extensionUrlProvider.ExtensionUrlProviderId = this._installedExtensionUrlProvider.ExtensionUrlProviderId;
                }

                ExtensionUrlProviderController.SaveProvider(this._extensionUrlProvider);

                this.Completed = true;
                this.Log.AddInfo(string.Format(Util.URLPROVIDER_Registered, this._extensionUrlProvider.ProviderName));
            }
            catch (Exception ex)
            {
                this.Log.AddFailure(ex);
            }
        }
コード例 #2
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// The Rollback method undoes the installation of the component in the event
 /// that one of the other components fails.
 /// </summary>
 /// -----------------------------------------------------------------------------
 public override void Rollback()
 {
     // If Temp Provider exists then we need to update the DataStore with this
     if (this._installedExtensionUrlProvider == null)
     {
         // No Temp Provider - Delete newly added module
         this.DeleteProvider();
     }
     else
     {
         // Temp Provider - Rollback to Temp
         ExtensionUrlProviderController.SaveProvider(this._installedExtensionUrlProvider);
     }
 }