예제 #1
0
        static void AlarmFormatter(Ram_Info ws1)
        {
            DirectoryInfo dInfo = new DirectoryInfo(ws1.AlarmTxtPath);
            if (!dInfo.Parent.Exists)
            {
                dInfo.Parent.Create();

            }

            StreamWriter sw = File.CreateText(AlarmFilePath);
            sw.WriteLine("%a");
            sw.WriteLine("-ObjectOfReference=SubNetwork=ONRM_RootMo,SubNetwork=TEXT");
            sw.WriteLine("-RecordType=1");
            sw.WriteLine("-EventTime=" + DateTime.Now.ToString("yyyyMMddHHmmss"));
            if (AlarmStatus == Convert.ToInt32(AlarmSignal.AlarmEnd))
            {
                sw.WriteLine("-PerceivedSeverity=" + ws1.AlarmEndSeverity.ToString());
            }
            else
            {
                sw.WriteLine("-PerceivedSeverity=" + ws1.AlarmStartSeverity.ToString());
            }
            sw.WriteLine("-SpecificProblem=" + ws1.AlarmCode);
            sw.WriteLine("-ManagedElement=mores");
            sw.WriteLine("%A");
            sw.Close();
        }
예제 #2
0
        static Ram_Info readXmlToObj()
        {
            try
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(AlarmFilePath);
                XmlElement root = doc.DocumentElement;
                XmlNodeList nodes = root.SelectNodes("/Settings/RAM");

                Ram_Info _objRamInfo = new Ram_Info();

                foreach (XmlNode node in nodes)
                {

                    _objRamInfo.SleepTime = Convert.ToInt32(node["CheckPeriodInSeconds"].InnerText);
                    _objRamInfo.ServiceCode = node["ServiceCode"].InnerText;
                    _objRamInfo.SmsList = node["SmsTo"].InnerText;
                    _objRamInfo.MessageStarted = node["MessageStarted"].InnerText;
                    _objRamInfo.MessageStopped = node["MessageStopped"].InnerText;
                    _objRamInfo.ClubName = node["ProjectName"].InnerText;

                    _objRamInfo.isMailSendEnable = CommonFunctions.toBool(node["EmailEnabled"].InnerText);
                    _objRamInfo.isSmsSendEnable = CommonFunctions.toBool(node["SmsEnabled"].InnerText);
                    _objRamInfo.isFtpUploadEnable = CommonFunctions.toBool(node["FtpEnabled"].InnerText);
                    _objRamInfo.AlarmTxtPath = node["AlarmFilePath"].InnerText;

                    _objRamInfo.Name = node["Name"].InnerText;
                    _objRamInfo.AlarmStartSeverity = Convert.ToInt32(node["AlarmStartSeverity"].InnerText);
                    _objRamInfo.AlarmEndSeverity = Convert.ToInt32(node["AlarmEndSeverity"].InnerText);
                    _objRamInfo.AlarmValue = Convert.ToInt32(node["AlarmValue"].InnerText);
                    _objRamInfo.AlarmCode = Convert.ToInt32(node["AlarmCode"].InnerText);
                    _objRamInfo.AlarmFilePath = node["AlarmFilePath"].InnerText;
                    _objRamInfo.AlarmStatus = 0;
                    _objRamInfo.AlarmCount = 0;
                    _objRamInfo.FtpFileName = node["FtpFileName"].InnerText;
                    _objRamInfo.EmailSubject = node["EmailSubject"].InnerText;
                    _objRamInfo.EmailBody = node["EmailBody"].InnerText;
                    _objRamInfo.ReceiverList = node["EmailTo"].InnerText;
                    _objRamInfo.AlarmPercentage = Convert.ToSingle(node["AlarmPercentage"].InnerText);

                }

                return _objRamInfo;

            }
            catch (Exception ex)
            {
                LogUtil.WriteLog(LogLevel.ERROR, String.Format("MESSAGE: {0} *** STACK TRACE: {1}", ex.Message, ex.StackTrace));

                return null;
            }
        }
예제 #3
0
        static void AlarmChecker(Ram_Info ws1)
        {
            try
            {

                if (AlarmCount > ws1.AlarmValue && AlarmStatus == 0)
                {

                    try
                    {
                        AlarmFormatter(ws1);
                    }
                    catch (Exception ex)
                    {

                        LogUtil.WriteLog(LogLevel.ERROR, ex.Message + " " + ex.StackTrace + Environment.NewLine + "**** " + "Date:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    }

                    if (ws1.isFtpUploadEnable)
                    {
                        FTPHandler ftpUploader = new FTPHandler();
                        ftpUploader.Upload(ws1.AlarmFilePath, ws1.FtpFileName);
                    }

                    if (ws1.isMailSendEnable)
                    {
                        string[] mailingList1 = ws1.ReceiverList.Split('#');
                        foreach (string mailAdress in mailingList1)
                        {
                            Mailer cs = new Mailer();
                            cs.EmailSubject = String.Format(ws1.ClubName + "/" + ws1.Name, ws1.ClubName);
                            cs.EmailBody = "Server-IP: " + ws1.ServerIpAddress + "\n" + "Project Name:  " + ws1.ClubName + "\n" + ws1.MessageStopped + "%" + ws1.AlarmPercentage + "\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                            cs.IsHtmlMail = false;
                            cs.EmailTo = mailAdress;
                            cs.SmtpServerPort = SMTP_PORT;
                            cs.SenderEmailAddress = SMTP_USER;
                            cs.SenderEmailPassword = SMTP_PASS;
                            cs.EnableSsl = true;
                            cs.SmtpServerName = SMTP_HOST;
                            Mailer.SendSingleEmail(cs);
                            cs = null;

                        }

                    }

                    if (ws1.isSmsSendEnable)
                    {

                        try
                        {

                            string[] arrSmsList = ws1.SmsList.Split('#');
                            foreach (string Msisdn in arrSmsList)
                            {
                                DataAccessLayer _objDataAccessLayer = new DataAccessLayer();
                                _objDataAccessLayer.SendMessage(ws1.ServiceCode, Msisdn, String.Format("{0} - {1}", ws1.ClubName, ws1.MessageStopped + "\n" + "Server-IP: " + ws1.ServerIpAddress + "\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                            }
                        }
                        catch (Exception exSms)
                        {
                            LogUtil.WriteLog(LogLevel.ERROR, exSms.Message + " " + exSms.StackTrace + Environment.NewLine + "**** " + "Date:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        }
                    }
                    AlarmStatus = 1;

                }

                else if (AlarmCount == 0 && AlarmStatus == 1)
                {

                    AlarmStatus = 0;
                    AlarmCount = 0;

                    try
                    {
                        AlarmFormatter(ws1);
                    }
                    catch (Exception ex)
                    {

                        LogUtil.WriteLog(LogLevel.ERROR, ex.Message + " " + ex.StackTrace + Environment.NewLine + "**** " + "Date:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    }

                    if (ws1.isFtpUploadEnable)
                    {
                        FTPHandler ftpUploader = new FTPHandler();
                        ftpUploader.Upload(ws1.AlarmFilePath, ws1.FtpFileName);
                    }

                    if (ws1.isSmsSendEnable)
                    {

                        try
                        {

                            string[] arrSmsList = ws1.SmsList.Split('#');
                            foreach (string Msisdn in arrSmsList)
                            {
                                DataAccessLayer _objDataAccessLayer = new DataAccessLayer();
                                _objDataAccessLayer.SendMessage(ws1.ServiceCode, Msisdn, String.Format("{0} - {1}", ws1.ClubName, ws1.MessageStarted + "\n" + "Server-IP: " + ws1.ServerIpAddress + "\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                            }
                        }
                        catch (Exception exSms)
                        {
                            LogUtil.WriteLog(LogLevel.ERROR, exSms.Message + " " + exSms.StackTrace + Environment.NewLine + "**** " + "Date:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        }
                    }

                    if (ws1.isMailSendEnable)
                    {
                        string[] mailingList = ws1.ReceiverList.Split('#');
                        foreach (string mailAdress in mailingList)
                        {
                            Mailer cs = new Mailer();
                            cs.EmailSubject = String.Format(ws1.ClubName + "/" + ws1.Name, ws1.ClubName);
                            cs.EmailBody = "Server-IP: " + ws1.ServerIpAddress + "\n" + "Project Name:  " + ws1.ClubName + "\n" + ws1.MessageStarted + "%" + ws1.AlarmPercentage + "\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                            cs.IsHtmlMail = false;
                            cs.EmailTo = mailAdress;
                            cs.SmtpServerPort = SMTP_PORT;
                            cs.SenderEmailAddress = SMTP_USER;
                            cs.SenderEmailPassword = SMTP_PASS;
                            cs.EnableSsl = true;
                            cs.SmtpServerName = SMTP_HOST;
                            Mailer.SendSingleEmail(cs);
                            cs = null;
                        }

                    }
                }
                else
                {
                    Console.WriteLine("Normal");
                }
            }

            catch (Exception ex)
            {

                LogUtil.WriteLog(LogLevel.ERROR, ex.Message + " " + ex.StackTrace + Environment.NewLine + "**** " + "Date:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            }
        }