private void CheckSiteStatus()
        {
            try
            {
                LogManager.WriteLog("Inside CheckSiteStatus", LogManager.enumLogLevel.Info);

                SqlConnection sqlConnection = new SqlConnection(DBCalls.GetConnRegSettings());

                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.Connection = sqlConnection;
                sqlCommand.CommandType = CommandType.StoredProcedure;
                sqlCommand.CommandText = ProcGetSiteStatus;

                //Execute the command.
                sqlConnection.Open();
                int siteStatus = Convert.ToInt32(sqlCommand.ExecuteScalar());
                sqlConnection.Close();

                if (SiteEnabledStatus != siteStatus)
                {
                    BMCMonitoring objMonitoring = new BMCMonitoring();

                    string strServiceNames = DBBuilder.DBCalls.GetServiceNames();
                    List<string> serviceNames = new List<string>(strServiceNames.Split(','));

                    foreach (string service in serviceNames)
                    {
                        if (service.Trim().ToUpper() == BMCGuardianService) { continue; }

                        if (siteStatus == 1)
                        {
                            objMonitoring.EnableService(service.Trim());
                        }
                        else
                        {
                            objMonitoring.DisableService(service.Trim());
                        }
                    }
                }
                else
                {
                    LogManager.WriteLog("Site Status not changed, hence skipping the Site Enable/Disable process.", LogManager.enumLogLevel.Info);
                }

                SiteEnabledStatus = siteStatus;

            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }
        private void GetServiceStatusForExchange()
        {
            string strServiceNames = string.Empty;
            int interval = Convert.ToInt32("0" + ConfigManager.Read("Exchange_ServicesStatusInterval"));
            interval = interval == 0 ? 30 : interval;
            while (isServiceRunning)
            {
                try
                {
                    BMCMonitoring objMonitoring = new BMCMonitoring();

                    if (strServiceNames == string.Empty)
                        strServiceNames = DBBuilder.DBCalls.GetServiceNames();
                    string strSiteStatus = string.Empty;
                    if (!string.IsNullOrEmpty(strServiceNames))
                    {
                        strSiteStatus = objMonitoring.GetSiteStatusForExchange(strServiceNames);
                    }
                    if (!string.IsNullOrEmpty(strSiteStatus))
                    {
                        UpdateSiteServiceDetails(strSiteStatus);
                        LogManager.WriteLog("Site status updated in exchange.", LogManager.enumLogLevel.Info);
                    }
                    _onstopexc.WaitOne(interval * 1000);//waits current thread in finite time(i.e 30 sec default)
                }
                catch (Exception ex)
                {
                    ExceptionManager.Publish(ex);
                    strServiceNames = string.Empty;
                }
            }
        }
        private void UpdateStatusInEnterprise()
        {
            try
            {
                int SystemEventsToGet = Convert.ToInt16(ConfigManager.Read("NoofSystemLogsToGet"));
                string SiteCode = DBBuilder.DBCalls.GetSiteName();
                Proxy objService = new Proxy(SiteCode);
                BMCMonitoring objMonitoring = new BMCMonitoring();
                string strServiceNames = DBBuilder.DBCalls.GetServiceNames();
                string strSiteStatus = string.Empty;
                if (!string.IsNullOrEmpty(strServiceNames))
                {
                    strSiteStatus = objMonitoring.GetSiteStatus(strServiceNames, SystemEventsToGet);
                }
                if (!string.IsNullOrEmpty(strSiteStatus))
                {
                    //UpdateSiteServiceDetails(SiteCode, strSiteStatus);
                    //LogManager.WriteLog("Site status updated in exchange.", LogManager.enumLogLevel.Info);

                    objService.UpdateSiteStatsInEnterprise(SiteCode, strSiteStatus);
                    LogManager.WriteLog("Site status updated in enterrprise.", LogManager.enumLogLevel.Info);
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }
        private void RestartServices()
        {
            string strServiceName = string.Empty;
            try
            {
                BMCMonitoring objMonitoring = new BMCMonitoring();
                string strServiceNames = DBBuilder.DBCalls.GetServiceNames();
                LogManager.WriteLog("RestartServices: Service to restart " + strServiceNames, LogManager.enumLogLevel.Info);
                string strSiteStatus = string.Empty;
                int SystemEventsToGet = Convert.ToInt16(ConfigManager.Read("NoofSystemLogsToGet"));
                if (!string.IsNullOrEmpty(strServiceNames))
                {
                    strSiteStatus = objMonitoring.GetSiteStatus(strServiceNames, SystemEventsToGet);
                    DataTable dtServiceStatus = GetServiceStatus(strSiteStatus);
                    foreach (DataRow dr in dtServiceStatus.Rows)
                    {
                        if (dr["ServiceStatus"].ToString().ToUpper() != "RUNNING")
                        {
                            strServiceName = dr["ServiceName"].ToString();

                            if (strServiceName.ToUpper() != "BMCGUARDIANSERVICE")
                            {
                                try
                                {
                                    if (objMonitoring.RestartService(strServiceName))
                                    {
                                        LogManager.WriteLog(strServiceName + " Restarted", LogManager.enumLogLevel.Info);
                                    }
                                    else
                                    { LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Info); }
                                }
                                catch (Exception ex1)
                                {
                                    LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Error);
                                    ExceptionManager.Publish(ex1);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }
        /// <summary>
        /// Check Message Queue for Exchange if not there and check the MSMQ service is running 
        /// if not running start it and create queue.else if service is already running create the queue simply.
        /// <Author>Vineetha Mathew</Author>
        /// <DateCreated>Date Created 11-Dec-2008</DateCreated>
        /// <param name=strMSMQExchangepath>string</param>
        /// <returns>true</returns>
        /// </summary>      
        /// Method Revision History
        ///
        /// Author             Date              Description
        /// ---------------------------------------------------
        ///Vineetha Mathew      11-12-2008      Created
        public static bool CreateMSMQ(string strMSMQExchangepath)
        {
            bool bMSMQServiceStatus = false;
            DataTable dtMSMQServicesStatus = new DataTable();
            BMCMonitoring objBMCMonitoring = new BMCMonitoring();
            bool bReturn = false;

            try
            {
                
                dtMSMQServicesStatus = objBMCMonitoring.GetServiceStatus("MSMQ", BMCMonitoring.ServiceTypes.All);

                if (dtMSMQServicesStatus.Rows.Count > 0)
                {
                    for (int i = 0; i < dtMSMQServicesStatus.Rows.Count; i++)
                    {
                        
                        if (dtMSMQServicesStatus.Rows[i][0].ToString() == "MSMQ" && dtMSMQServicesStatus.Rows[i][1].ToString() == "Stopped")
                        {
                            bMSMQServiceStatus = objBMCMonitoring.StartService("MSMQ");
                            if (bMSMQServiceStatus == true)
                            {
                                
                                System.Threading.Thread.Sleep(5000);
                                MessageQueue.Create(strMSMQExchangepath, true);
                                MessageQueue objMessagqQueue = new MessageQueue(strMSMQExchangepath);
                                objMessagqQueue.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
                                bReturn = true;
                                break;
                            }
                        }
                        else if (dtMSMQServicesStatus.Rows[i][0].ToString() == "MSMQ" && dtMSMQServicesStatus.Rows[i][1].ToString() == "Running")
                        {
                            
                            MessageQueue.Create(strMSMQExchangepath, true);
                            MessageQueue objMessagqQueue = new MessageQueue(strMSMQExchangepath);
                            objMessagqQueue.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
                            bReturn = true;
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog("CreateMSMQ" + ex.Message.ToString() + ex.Source.ToString(), LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(ex);
                bReturn = false;
            }
            return bReturn;
        }
        void serviceStatusTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            string strServiceName = "BMCNetworkService";

            try
            {
                DataSet dsData = DBBuilder.DBCalls.GetServiceStatusDetails();
                bool bRequired = false;

                LogManager.WriteLog("Service Status Details - Timer Triggered.", LogManager.enumLogLevel.Error);

                if (dsData.Tables.Count > 0)
                {
                    if (dsData.Tables[0].Rows.Count > 0)
                    {
                        DateTime dtNextRun;

                        try
                        {
                            dtNextRun = Convert.ToDateTime(dsData.Tables[0].Rows[0]["SS_NextRunTime"]);
                        }
                        catch (Exception ex)
                        {
                            dtNextRun = DateTime.Now;
                            ExceptionManager.Publish(ex);
                        }

                        int iStatus = DateTime.Compare(DateTime.Now, dtNextRun);

                        LogManager.WriteLog("Service Status Details - Current Date " + DateTime.Now.ToString() + " NextRunDate " +
                            dtNextRun.ToString() + " Status " + iStatus.ToString(), LogManager.enumLogLevel.Error);

                        if (iStatus > 0)
                        {
                            bRequired = true;
                        }
                    }
                    else
                    {
                        bRequired = true;
                    }
                }
                else
                {
                    bRequired = true;
                }

                if (bRequired)
                {
                    BMCMonitoring objMonitoring = new BMCMonitoring();

                    LogManager.WriteLog("Service Status Details - Starting Process.", LogManager.enumLogLevel.Error);

                    if (objMonitoring.RestartService(strServiceName))
                    {
                        DBBuilder.DBCalls.UpdateServiceStatusDetails();
                        LogManager.WriteLog(strServiceName + " Restarted", LogManager.enumLogLevel.Info);
                    }
                    else
                    {
                        LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Info);
                    }
                }
            }
            catch (Exception exserviceStatusTimer_Elapsed)
            {
                LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(exserviceStatusTimer_Elapsed);
            }
        }
        public string GetServiceStatus(string strServiceNames, BMCMonitoring.ServiceTypes serviceStatus)
        {
            CheckSecurity();

            string strSiteName = string.Empty;
            try
            {
                var dtServiceStatus = new DataTable("Services");

                var objMonitoring = new BMCMonitoring();
                switch (serviceStatus)
                {
                    case BMCMonitoring.ServiceTypes.All:
                        dtServiceStatus = objMonitoring.GetServiceStatus(strServiceNames, BMCMonitoring.ServiceTypes.All);
                        break;
                    case BMCMonitoring.ServiceTypes.Running:
                        dtServiceStatus = objMonitoring.GetServiceStatus(strServiceNames, BMCMonitoring.ServiceTypes.Running);
                        break;
                    case BMCMonitoring.ServiceTypes.NotRunning:
                        dtServiceStatus = objMonitoring.GetServiceStatus(strServiceNames, BMCMonitoring.ServiceTypes.NotRunning);
                        break;
                }
                var objWriter = new StringWriter();
                dtServiceStatus.WriteXml(objWriter);
                return objWriter.ToString();
            }
            catch
            {
                LogManager.WriteLog("Error in getting status from site " + strSiteName, LogManager.enumLogLevel.Error);
                return "<OutputXML><ErrorMessage>no records found </ErrorMessage></OutputXML> ";
            }
        }
        public bool StartService(string strServiceName)
        {
            CheckSecurity();

            try
            {
                var objMonitoring = new BMCMonitoring();
                return objMonitoring.StartService(strServiceName);

            }
            catch
            {
                LogManager.WriteLog("Error in starting service " + strServiceName, LogManager.enumLogLevel.Error);
                return false;
            }
        }
 /// <summary>
 /// To End the selected service 
 /// <param name="strServicename">string</param>
 /// <returns name="service status">bool</returns>
 /// </summary>     
 private bool EndService(string strServicename)
 {
     try
     {
         BMCMonitoring objBMCMonitoring = new BMCMonitoring();
         return objBMCMonitoring.EndService(strServicename);                
     }
     catch (Exception ex)
     {
         LogManager.WriteLog("EndService" + ex.Message.ToString() + ex.Source.ToString(), LogManager.enumLogLevel.Error);
         ExceptionManager.Publish(ex);
         return false;
     }
 }
        public string GetSiteStatus()
        {
            CheckSecurity();

            try
            {
                string strServiceNames = GetValueFromSetting("ServiceNames", "BGSExchangeHost");
                var objMonitoring = new BMCMonitoring();
                return objMonitoring.GetSiteStatus(strServiceNames, 10);
            }
            catch (Exception ex)
            {
                LogManager.WriteLog("Error in getting stats from site " + "--" + ex.Message, LogManager.enumLogLevel.Error);
                return "<OutputXML><ErrorMessage>no records found </ErrorMessage></OutputXML> ";
            }

        }
        /// <summary>
        /// To get the status of a particular service
        /// <Author>Vineetha Mathew</Author>       
        /// <param name="strServiceName">string</param>
        /// <returns></returns>
        /// </summary>       
        private string GetServiceStatus(string strServiceName)
        {
            BMCMonitoring objBMCMonitoring = new BMCMonitoring();
            DataTable dtServicesStatus = new DataTable();
            StringBuilder strServicelist = new StringBuilder();
            try
            {
                dtServicesStatus = objBMCMonitoring.GetServiceStatus(strServiceName, BMCMonitoring.ServiceTypes.All);
                Application.DoEvents();
                if (dtServicesStatus.Rows.Count > 0)
                {
                    for (int j = 0; j < dtServicesStatus.Columns.Count; j++)
                    {
                        for (int i = 0; i < dtServicesStatus.Rows.Count; i++)
                        {
                            if (j != dtServicesStatus.Columns.Count - 1)
                            {
                                if (dtServicesStatus.Rows[i][j].ToString() == strServiceName && dtServicesStatus.Rows[i][j + 1].ToString() == "Stopped")
                                {
                                    strServiceStatus = "STOP";
                                }
                                else if (dtServicesStatus.Rows[i][j].ToString() == strServiceName && dtServicesStatus.Rows[i][j + 1].ToString() == "Running")
                                {
                                    strServiceStatus = "RUN";

                                }
                                else if (dtServicesStatus.Rows[i][j].ToString() == strServiceName && dtServicesStatus.Rows[i][j + 1].ToString() == "Pending")
                                {
                                    strServiceStatus = "PEND";
                                }
                                else if (dtServicesStatus.Rows[i][j].ToString() == strServiceName && dtServicesStatus.Rows[i][j + 1].ToString() == "Service not found")
                                {
                                    strServiceStatus = "NOSERVICE";
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                }

            }
            catch (IndexOutOfRangeException iex)
            {
                LogManager.WriteLog("GetServiceStatus" + iex.Message.ToString() + iex.Source.ToString(), LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(iex);
            }
            catch (Exception ex)
            {
                LogManager.WriteLog("GetServiceStatus" + ex.Message.ToString() + ex.Source.ToString(), LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(ex);
            }
            finally
            {
                dtServicesStatus.Dispose();
            }
            return strServiceStatus;
        }
        /// <summary>
        /// To get all the status of the services on form load
        /// <Author>Vineetha Mathew</Author>      
        /// <param name=""></param>
        /// <returns></returns>
        /// </summary>      
        private void GetServiceStatusToListView()
        {
            BMCMonitoring objBMCMonitoring = new BMCMonitoring();
            DataTable dtServicesStatus = new DataTable();
            StringBuilder strServicelist = new StringBuilder();           
            try
            {
                lvServiceslist.BeginUpdate();

                for (int i = 0; i < lvServiceslist.Items.Count; i++)
                {                                     
                    strServicelist.Append(lvServiceslist.Items[i].Text + ",");
                }
                dtServicesStatus = objBMCMonitoring.GetServiceStatus(strServicelist.ToString(), BMCMonitoring.ServiceTypes.All);
                Application.DoEvents();
                if (dtServicesStatus.Rows.Count > 0)
                {
                    for (int j = 0; j < dtServicesStatus.Columns.Count; j++)
                    {
                        for (int i = 0; i < dtServicesStatus.Rows.Count; i++)
                        {
                            if (j != dtServicesStatus.Columns.Count - 1)
                            {
                                if (dtServicesStatus.Rows[i][j].ToString() == lvServiceslist.Items[i].Text.ToString() && dtServicesStatus.Rows[i][j + 1].ToString() == "Stopped")
                                {   
                                    lvServiceslist.Items[i].ForeColor = Color.Red;
                                    lvServiceslist.Items[i].SubItems[1].Text = "Stopped";                                    
                                }
                                else if (dtServicesStatus.Rows[i][j].ToString() == lvServiceslist.Items[i].Text.ToString() && dtServicesStatus.Rows[i][j + 1].ToString() == "Running")
                                {                                   
                                    lvServiceslist.Items[i].ForeColor = Color.Blue;                                   
                                    lvServiceslist.Items[i].SubItems[1].Text = "Running";                                    

                                }
                                else if (dtServicesStatus.Rows[i][j].ToString() == lvServiceslist.Items[i].Text.ToString() && dtServicesStatus.Rows[i][j + 1].ToString() == "Pending")
                                {   
                                    lvServiceslist.Items[i].ForeColor = Color.MediumSeaGreen;                                   
                                    lvServiceslist.Items[i].SubItems[1].Text = "Pending";                                    
                                }
                                else if (dtServicesStatus.Rows[i][j].ToString() == lvServiceslist.Items[i].Text.ToString() && dtServicesStatus.Rows[i][j + 1].ToString() == "Service not found")
                                {
                                    lvServiceslist.Items[i].ForeColor = Color.Green;
                                    lvServiceslist.Items[i].SubItems[1].Text = "Service not found";                                    
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                }
               
            }
            catch (IndexOutOfRangeException iex)
            {
                LogManager.WriteLog("GetServiceStatus" + iex.Message.ToString() + iex.Source.ToString(), LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(iex);
            }
            catch (Exception ex)
            {
                LogManager.WriteLog("GetServiceStatus" + ex.Message.ToString() + ex.Source.ToString(), LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(ex);
            }
            finally
            {
                lvServiceslist.EndUpdate();
            }
        }
        private void GetServiceStatus()
        {
            BMCMonitoring objBMCMonitoring = new BMCMonitoring();
            DataTable dtServicesStatus = new DataTable();
            StringBuilder strServicelist = new StringBuilder();
            //Rectangle itemBoundRectangle = new Rectangle(0, 0, 0, 0);
            ListViewItem itemListview = new ListViewItem();
            string[] strListarray = null;
            try
            {
                strListarray = ConfigManager.Read("ServicesList").ToString().Split(',');
                if (strListarray != null)
                {
                    for (int i = 0; i < strListarray.Length; i++)
                    {
                        strServicelist.Append(strListarray[i].ToString() + ",");
                    }
                }
                dtServicesStatus = objBMCMonitoring.GetServiceStatus(strServicelist.ToString(), BMCMonitoring.ServiceTypes.All);
                string strServiceStatus = string.Empty;
                string strServiceStatus1 = string.Empty;
                bool blnFoundNotRunning = false;
                int ServiceCount = dtServicesStatus.Rows.Count / 2;
                int RowCount = 0;
                if (dtServicesStatus.Rows.Count > 0)
                {
                    SetListviewItemStyle("Services", 0);
                    foreach (DataRow dr in dtServicesStatus.Rows)
                    {
                        if (!blnFoundNotRunning && dr["Status"].ToString().ToUpper().Trim() !="RUNNING")
                        {
                            SetListviewItemStyle("Services",1);
                            SetListviewItemStyle("Services1", -1);
                            blnFoundNotRunning = true;
                        }
                        if (RowCount > ServiceCount)
                            strServiceStatus1 += dr["ServiceName"].ToString() + ":" + dr["Status"].ToString() + "; ";    
                        else
                            strServiceStatus+= dr["ServiceName"].ToString()+":" +dr["Status"].ToString()+"; ";
                        RowCount++;
                    }

                    if (lvGoLive.Items["Services"].SubItems.Count > 2)
                        lvGoLive.Items["Services"].SubItems[2].Text = strServiceStatus;
                    else
                        lvGoLive.Items["Services"].SubItems.Add(strServiceStatus);
                    if (!string.IsNullOrEmpty(strServiceStatus1))
                    {
                        if (lvGoLive.Items["Services1"].SubItems.Count > 2)
                            lvGoLive.Items["Services1"].SubItems[2].Text = strServiceStatus1;
                        else
                            lvGoLive.Items["Services1"].SubItems.Add(strServiceStatus1);
                    }
                    else
                    {
                        lvGoLive.Items["Services1"].Remove();
                    }
                    
                }
                #region unused code
                //if (dtServicesStatus.Rows.Count > 0)
                //{
                //    for (int j = 0; j < dtServicesStatus.Columns.Count; j++)
                //    {
                //        for (int i = 0; i < dtServicesStatus.Rows.Count; i++)
                //        {
                //            if (j != dtServicesStatus.Columns.Count - 1)
                //            {
                //                if (dtServicesStatus.Rows[i][j + 1].ToString() == "Stopped")
                //                {
                //                    lvGoLive.Items["Services"].ImageIndex = 1;
                           
                //                    if (lvGoLive.Items["Services"].SubItems.Count > 2)
                //                    {
                //                        lvGoLive.Items["Services"].SubItems[2].Text = lvGoLive.Items["Services"].SubItems[2].Text + ";" + dtServicesStatus.Rows[i][j].ToString() +" Service is in Stopped State";
                //                    }
                //                    else
                //                    {
                //                        lvGoLive.Items["Services"].SubItems.Add(dtServicesStatus.Rows[i][j].ToString() + " Service is in Stopped State");

                //                    }
                //                }
                //                 else if (dtServicesStatus.Rows[i][j + 1].ToString() == "Pending")
                //                {
                //                    lvGoLive.Items["Services"].ImageIndex = 1;

                //                    if (lvGoLive.Items["Services"].SubItems.Count > 2)
                //                    {
                //                        lvGoLive.Items["Services"].SubItems[2].Text = lvGoLive.Items["Services"].SubItems[2].Text + ";" + dtServicesStatus.Rows[i][j].ToString() + " Service is in Pending State";
                //                    }
                //                    else
                //                    {
                //                        lvGoLive.Items["Services"].SubItems.Add(dtServicesStatus.Rows[i][j].ToString() + " Service is in Pending State");

                //                    }

                //                }

                //                else if (dtServicesStatus.Rows[i][j + 1].ToString().ToUpper() == "Service not found".ToUpper())
                //                {
                //                    lvGoLive.Items["Services"].ImageIndex = 1;
                //                    if (lvGoLive.Items["Services"].SubItems.Count > 2)
                //                    {
                //                        lvGoLive.Items["Services"].SubItems[2].Text = lvGoLive.Items["Services"].SubItems[2].Text + ";" + dtServicesStatus.Rows[i][j].ToString() + " Service not found.";
                //                    }
                //                    else
                //                    {
                //                        lvGoLive.Items["Services"].SubItems.Add(dtServicesStatus.Rows[i][j].ToString() + " Service not found");

                //                    }


                //                }

                //            }
                //            else
                //            {
                //                break;
                //            }
                //        }
                //    }
                //}

                //lvGoLive.AutoResizeColumn(2, ColumnHeaderAutoResizeStyle.ColumnContent);
                //if (lvGoLive.Items["Services"].ImageIndex != 1)
                //{
                //    lvGoLive.Items["Services"].ImageIndex = 0;
                //    lvGoLive.Items["Services"].BackColor = Color.White;
                //    lvGoLive.Items["Services"].ForeColor = Color.Black;
                    
                //}
                //else
                //{
                //    lvGoLive.Items["Services"].BackColor = Color.Red;
                //    lvGoLive.Items["Services"].ForeColor = Color.White;
                //}
                #endregion
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);

               
                SetListviewItemStyle("Services", 1);
            }
        }
 /// <summary>
 /// To End the selected service 
 /// <param name="strServicename">string</param>
 /// <returns name="service status">bool</returns>
 /// </summary>     
 private bool EndService(string strServicename)
 {
     try
     {
         BMCMonitoring objBMCMonitoring = new BMCMonitoring();
         return objBMCMonitoring.EndService(strServicename, new TimeSpan(0, serviceTimeOut, 0));
     }
     catch (Exception ex)
     {
         LogManager.WriteLog("EndService" + ex.Message.ToString() + ex.Source.ToString(), LogManager.enumLogLevel.Error);
         ExceptionManager.Publish(ex);
         MessageBox.ShowBox("MessageID74", BMC_Icon.Error);
         return false;
     }
 }
        /// <summary>
        /// Display the Ticketing server details.
        /// <param name="CMPServerEntries"></param>
        /// <returns></returns>
        /// </summary>        
        //private void GetTicketingServerSettings(Dictionary<string, string> TicketingServerSettings)
        //{
        //    try
        //    {
        //        if (TicketingServerSettings != null)
        //        {
        //            foreach (KeyValuePair<string, string> objKeyValue in TicketingServerSettings)
        //            {
        //                if (objKeyValue.Key.ToUpper() == "SERVER")
        //                {
        //                    txtticketserver.Text = objKeyValue.Value;
        //                }
        //                else if (objKeyValue.Key.ToUpper() == "UID")
        //                {
        //                    txtticketusername.Text = objKeyValue.Value;
        //                }
        //                else if (objKeyValue.Key.ToUpper() == "PASSWORD")
        //                {
        //                    txtticketPassword.Password = objKeyValue.Value;
        //                }
        //                else if (objKeyValue.Key.ToUpper() == "DATABASE")
        //                {
        //                    lblticketDBname.Text = objKeyValue.Value;
        //                }
        //                else if (objKeyValue.Key.ToUpper() == "TIMEOUT")
        //                {
        //                    txtticketTimeout.Text = objKeyValue.Value;
        //                }
        //                else if (objKeyValue.Key.ToUpper() == "INSTANCE")
        //                {
        //                    txticketInstance.Text = objKeyValue.Value;
        //                }

        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        LogManager.WriteLog("GetTicketingServerSettings" + ex.Message.ToString() + ex.Source.ToString(), LogManager.enumLogLevel.Error);
        //        ExceptionManager.Publish(ex);
        //        MessageBox.ShowBox("MessageID74", BMC_Icon.Error);
        //    }
        //}

        /// <summary>
        /// Load Services information to lisview
        /// </summary>
        /// <param name="strListarray"></param>
        private void LoadServicesToListView(string[] strListarray)
        {
            BMCMonitoring objBMCMonitoring = new BMCMonitoring();
            DataTable dtServicesStatus = new DataTable();
            StringBuilder strServicelist = new StringBuilder();

            for (int i = 0; i < strListarray.Length; i++)
            {
                strServicelist.Append(strListarray[i] + ",");
            }

            dtServicesStatus = objBMCMonitoring.GetServiceStatus(strServicelist.ToString(), BMCMonitoring.ServiceTypes.All);

            if (_LoadListViewCollection.Count > 0) { _LoadListViewCollection.Clear(); }

            foreach (DataRow dataRow in dtServicesStatus.Rows)
            {
                _LoadListViewCollection.Add(new LoadListView { Check = 0, ServiceName = dataRow[0].ToString(), ServiceStatus = dataRow[1].ToString() });
            }

            lvServiceslist.ItemsSource = LoadListViewCollection;
        }