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