예제 #1
0
        /// <summary>
        /// Method to check all the prerequisite conditions.
        /// </summary>
        private void UpdateStatus()
        {
            try
            {
                txtStatus.Text = "Connecting to Database.";
                if (_oCommonutilities.SQLConnectionExists())
                {
                    txtStatus.Text = "Verifying Site Details.";
                    if (_oCommonutilities.GetSiteDetails() != null)
                    {
                        if (!new ReportsBusinessObject().IsResetOccuredAndCompleted())
                        {
                            MessageBox.ShowBox("MessageID549", BMC_Icon.Error);
                            App.Current.Shutdown();
                        }

                        if (_oCommonutilities.GetSiteDetails().Tables[0].Rows.Count > 0)
                        {
                            if (
                                _oCommonutilities.GetSiteDetails().Tables[0].Rows[0]["SiteStatus"].ToString().ToUpper() ==
                                "PARTIALLYCONFIGURED")
                            {
                                if (
                                    _oCommonutilities.GetSiteDetails().Tables[0].Rows[0]["SiteEvent"].ToString().ToUpper() ==
                                    "RECOVERY")
                                {
                                    txtStatus.Text = "Starting Site - Recovery Process.";
                                    new SiteCheckPoints("RECOVERY",
                                                        int.Parse(
                                                            _oCommonutilities.GetSiteDetails().Tables[0].Rows[0]["Code"].
                                                            ToString())).Show();
                                }
                                else
                                {
                                    txtStatus.Text = "Starting Site - New Configuration Process.";
                                    new SiteCheckPoints("NEW",
                                                        int.Parse(
                                                            _oCommonutilities.GetSiteDetails().Tables[0].Rows[0]["Code"].
                                                            ToString())).Show();
                                }
                            }
                            else
                            {
                                txtStatus.Text = "Site Verification Complete.";
                                new Login().Show();
                            }
                        }
                        else
                        {
                            try
                            {
                                BMC.Common.ConfigurationManagement.ConfigManager.SetConfigurationMode(BMC.Common.ConfigurationManagement.ConfigManager.ConfigurationMode.AppConfig);
                                if (BMCRegistryHelper.IsExchangeClient())
                                {
                                    txtStatus.Text = "Site Verification Complete.";
                                    new ClientMessage().Show();
                                }
                                else if (BMCRegistryHelper.IsExchangeServer())
                                {
                                    txtStatus.Text = "Site Verification Complete.";
                                    new SiteSetup().Show();
                                }

                                else
                                {
                                    txtStatus.Text = "Site Verification Complete.";
                                    new Login().Show();
                                }
                            }
                            catch (Exception ex)
                            {
                                ExceptionManager.Publish(ex);
                                MessageBox.ShowBox("MessageID1", BMC_Icon.Error);
                                App.Current.Shutdown();
                            }
                        }
                    }
                    else
                    {
                        txtStatus.Text = "Site Verification Complete.";
                        new Login().Show();
                    }
                }
                else
                {
                    txtStatus.Text = "Database Connection - Failed.";
                    MessageBox.ShowBox("MessageID201");
                    Application.Current.Shutdown();
                }
            }
            catch (System.Data.SqlClient.SqlException sqEx)
            {
                ExceptionManager.Publish(sqEx);
                MessageBox.ShowBox("MessageID1", BMC_Icon.Error);
                App.Current.Shutdown();
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                MessageBox.ShowBox("MessageID1", BMC_Icon.Error);
                App.Current.Shutdown();
            }

            this.Close();
        }
        /// <summary>
        /// Launch BMC.ExchangeConfig.Client.exe if Config Parameters option is enabled in Enterprise
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSystemConfigParameters_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                btnSystemConfigParameters.IsEnabled = false;
                string installationPath = "";
                //string installationType = "";
                string ExchangeConfigFileName = "";
                string processName            = "";

                ConfigManager.SetConfigurationMode(ConfigManager.ConfigurationMode.AppConfig);
                //RegistryKey installationPathkey = BMCRegistryHelper.GetRegLocalMachine().OpenSubKey();
                //installationPath = BMCRegistryHelper.GetRegKeyValue(ConfigManager.Read("ExchangeClientInstallationPath"), "InstallationPath").ToString();
                installationPath = Extensions.GetStartupDirectory();
                //installationType = installationPathkey.GetValue("InstallationType").ToString();
                bool isExecutableFound = false;


                if (BMCRegistryHelper.IsExchangeClient())
                {
                    ExchangeConfigFileName = "BMC.ExchangeConfig.Client.exe";
                }
                else if (BMCRegistryHelper.IsExchangeServer())
                {
                    ExchangeConfigFileName = "BMC.ExchangeConfig.exe";
                }
                //Removing "exe" string from ExchangeConfigFileName
                processName = ExchangeConfigFileName.Substring(0, ExchangeConfigFileName.Length - 4);
                Process[] bmcClientConfigProcesses = Process.GetProcessesByName(processName);
                if (bmcClientConfigProcesses != null && bmcClientConfigProcesses.Length > 0)
                {
                    return;
                }

                try
                {
                    DirectoryInfo dirInfor = new DirectoryInfo(installationPath);
                    // Get all files whose names starts with FileName Passed
                    FileInfo[] filesInfo = dirInfor.GetFiles(ExchangeConfigFileName +
                                                             "*", SearchOption.TopDirectoryOnly);
                    foreach (FileInfo fi in filesInfo)
                    {
                        if (fi.Name.Equals(ExchangeConfigFileName))
                        {
                            LogManager.WriteLog("Path.Combine(installationPath.Trim() , ExchangeConfigFileName): " + Path.Combine(installationPath.Trim(), ExchangeConfigFileName), LogManager.enumLogLevel.Info);
                            isExecutableFound = true;
                            System.Diagnostics.Process.Start(Path.Combine(installationPath.Trim(), ExchangeConfigFileName));
                            break;
                        }
                    }
                    if (!isExecutableFound)
                    {
                        MessageBox.ShowBox("MessageID327", BMC_Icon.Error, BMC_Button.OK, ExchangeConfigFileName, installationPath);
                        LogManager.WriteLog(string.Format("{0} is not available in {1}", ExchangeConfigFileName, installationPath), LogManager.enumLogLevel.Info);
                    }
                    LogManager.WriteLog(string.Format("Launched {0}", ExchangeConfigFileName), LogManager.enumLogLevel.Info);
                }
                catch (Exception SystemConfigLaunchException)
                {
                    ExceptionManager.Publish(SystemConfigLaunchException);
                }
            }
            finally
            {
                btnSystemConfigParameters.IsEnabled = true;
            }
        }