Ejemplo n.º 1
0
        /// <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;
        }