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