/// <summary> /// Executes the task. /// </summary> /// <returns>Indicating if the task was successful.</returns> public override bool Execute() { BizTalkCatalogExplorer bizTalkCatalogExplorer = new BizTalkCatalogExplorer(ManagementDatabaseConnectionString); if (ApplicationName.EndsWith("*", StringComparison.OrdinalIgnoreCase)) { string applicationNameToMatch = ApplicationName.Substring(0, ApplicationName.Length - 1); string[] applicationNames = bizTalkCatalogExplorer.GetApplicationNames(); foreach (string applicationName in applicationNames) { if (applicationName.StartsWith(applicationNameToMatch, StringComparison.OrdinalIgnoreCase)) { Log.LogMessage("Removing BizTalk application '{0}'...", applicationName); bizTalkCatalogExplorer.RemoveApplication(applicationName); Log.LogMessage("...BizTalk application '{0}' successfully removed.", applicationName); } } } else if (bizTalkCatalogExplorer.ApplicationExists(ApplicationName)) { Log.LogMessage("Removing BizTalk application '{0}'...", ApplicationName); bizTalkCatalogExplorer.RemoveApplication(ApplicationName); Log.LogMessage("...BizTalk application '{0}' successfully removed.", ApplicationName); } else { Log.LogMessage("No matches were found for BizTalk application named '{0}', skipping removal.", ApplicationName); } return true; }