private void SendAlerts(double currenttemp, int alertval) { notificationTimer.Start(); if (chkEmail.Checked) { var emailsent = emailalertclient.SendMail("*****@*****.**", "Alert: SetTemparature Reached", $" set temparature of {currenttemp} is reached"); if (emailsent) { queue.Enqueue("Alert Email Sent"); } } if (chkSMS.Checked) { SMSAlert.SendSMS($"Alert : Your set temparature reached {currenttemp}", "+6597208220"); queue.Enqueue("Alert SMS Sent"); } if (chkTelegram.Checked) { TelegramBot.SendAlert($"Alert : Your set temparature reached {currenttemp}"); queue.Enqueue("Alert Telegram Sent"); } }
public async Task <SMSAlert> GetByIdAsync(int id) { using (var connection = new SqlConnection(connString)) { SMSAlert result = null; try { connection.Open(); result = await connection.QuerySingleOrDefaultAsync <SMSAlert>("Sp_SMSAlert_FetchById", new { Id = id }, commandType : CommandType.StoredProcedure); return(result); } catch (Exception ex) { ex.Message.ToString(); return(result); } } }
public async Task <int> AddAsync(SMSAlert entity) { int result = 0; try { using (var connection = new SqlConnection(connString)) { entity.DateCreated = DateTime.Now; entity.DateProcessed = DateTime.Now; connection.Open(); result = await connection.ExecuteAsync("Sp_SMSAlert_Insert", new { entity.MobileNo, entity.Subject, entity.Message, entity.ReceiverName, entity.Reeson, entity.Status, entity.UserType, entity.Sendtries, entity.IsActive, entity.BackOfficeUser_SubscriberUser, entity.CreatedBy, entity.DateCreated, entity.DateProcessed, }, commandType : CommandType.StoredProcedure); return(result); } } catch (Exception ex) { ex.Message.ToString(); return(result); } }
public override Alert CreateAlert(string title, string msg, string recipient) { SMSAlert alert = new SMSAlert(recipient, title + "-" + msg); return(alert); }
static int Main() { EmailAlert _emailAlert = new EmailAlert(); SMSAlert _smsAlert = new SMSAlert(); AlertWhenLowOrHighHandler _handler_email = new AlertWhenLowOrHighHandler(_emailAlert.Update); AlertWhenLowOrHighHandler _handler_sms = new AlertWhenLowOrHighHandler(_smsAlert.Notify); addVital("BPM", 70, 150); addVital("SPO2", 90, 1000); addVital("RESPRATE", 30, 95); //true conditions ExpectTrue(checkVital("BPM", 100)); ExpectTrue(checkVital("SPO2", 95)); ExpectTrue(checkVital("RESPRATE", 60)); AlertWhenLowOrHigh += _handler_email; //false results ExpectFalse(checkVital("BPM", 40)); ExpectFalse(checkVital("SPO2", 89)); ExpectFalse(checkVital("RESPRATE", 96)); AlertWhenLowOrHigh -= _handler_email; AlertWhenLowOrHigh += _handler_sms; ExpectTrue(checkVital("BPM", 80)); ExpectFalse(checkVital("BPM", 160)); ExpectTrue(checkVital("SPO2", 95)); ExpectTrue(checkVital("SPO2", 90)); ExpectFalse(checkVital("SPO2", 89)); ExpectTrue(checkVital("RESPRATE", 40)); ExpectFalse(checkVital("RESPRATE", 100)); addVital("BP", 100, 200); ExpectTrue(checkVital("BP", 150)); ExpectFalse(checkVital("BP", 80)); //check vital sugar without adding it first //limits for sugar are 100 to 200 ExpectFalse(checkVital("SUGAR", 300)); ExpectTrue(checkVital("SUGAR", 200)); ExpectFalse(checkVital("SUGAR", 50)); //check multiple vitals at once vital_array[] vital_array_to_pass = new vital_array[5]; //all are within range vital_array_to_pass[0].string_id = "BPM"; vital_array_to_pass[0].val = 140; vital_array_to_pass[1].string_id = "SPO2"; vital_array_to_pass[1].val = 100; vital_array_to_pass[2].string_id = "RESPRATE"; vital_array_to_pass[2].val = 40; vital_array_to_pass[3].string_id = "BP"; vital_array_to_pass[3].val = 150; vital_array_to_pass[4].string_id = "SUGAR"; vital_array_to_pass[4].val = 200; ExpectTrue(checkVital(vital_array_to_pass, vital_array_to_pass.Length)); //BPM and sugar not in limit vital_array_to_pass[0].string_id = "BPM"; vital_array_to_pass[0].val = 69; vital_array_to_pass[1].string_id = "SPO2"; vital_array_to_pass[1].val = 100; vital_array_to_pass[2].string_id = "RESPRATE"; vital_array_to_pass[2].val = 40; vital_array_to_pass[3].string_id = "BP"; vital_array_to_pass[3].val = 150; vital_array_to_pass[4].string_id = "SUGAR"; vital_array_to_pass[4].val = 201; ExpectFalse(checkVital(vital_array_to_pass, vital_array_to_pass.Length)); vital_array[] vital_array_to_pass2 = new vital_array[3]; //bpm , spo2, resprate are within range vital_array_to_pass2[0].string_id = "BPM"; vital_array_to_pass2[0].val = 100; vital_array_to_pass2[1].string_id = "SPO2"; vital_array_to_pass2[1].val = 95; vital_array_to_pass2[2].string_id = "RESPRATE"; vital_array_to_pass2[2].val = 60; ExpectTrue(checkVital(vital_array_to_pass2, vital_array_to_pass2.Length)); //bpm out of range vital_array_to_pass2[0].string_id = "BPM"; vital_array_to_pass2[0].val = 40; vital_array_to_pass2[1].string_id = "SPO2"; vital_array_to_pass2[1].val = 91; vital_array_to_pass2[2].string_id = "RESPRATE"; vital_array_to_pass2[2].val = 92; ExpectFalse(checkVital(vital_array_to_pass2, vital_array_to_pass2.Length)); Console.WriteLine("All ok"); return(0); }
/// <summary> /// SMS����������Ϣ��ȡ�� /// </summary> /// <param name="AccessInformation"></param> /// <param name="AlertIndex"></param> /// <returns></returns> public GetSMSAlertResult GetSMSAlert(AccessControl AccessInformation, string AlertIndex) { GetSMSAlertResult Result = new GetSMSAlertResult(); SMSAlert sms = new SMSAlert(); string estr = ""; bool ret = true; ret = GetAccessControlInformation(AccessInformation); if (!ret) { estr = keytext[ErrorInfo.AccessControlError.ToString()]; } string strServer = "localhost"; string strUser = "******"; if (AccessInformation.LimitServer) { strServer = AccessInformation.SVDBServer; } if (AccessInformation.LimitUser) { strUser = AccessInformation.UserID; } while (ret) { if (this.iniFile == null) { this.iniFile = new IniFileDaoImpl(); } IDictionary<string, NameValueCollection> sectionlists = this.iniFile.GetIniFileBySection("alert.ini", AlertIndex); sms.BaseInfo = GetIniBaseAlertInfo(AlertIndex, sectionlists); sms.SmsNumber = sectionlists[AlertIndex]["SmsNumber"]; sms.OtherNumber = sectionlists[AlertIndex]["OtherNumber"]; sms.SendMode = sectionlists[AlertIndex]["SmsSendMode"]; sms.SMSTemplate = sectionlists[AlertIndex]["SmsTemplate"]; sms.UpgradeTimes = sectionlists[AlertIndex]["Upgrade"]; sms.ReceiverAddress = sectionlists[AlertIndex]["UpgradeTo"]; sms.StopTimes = sectionlists[AlertIndex]["Stop"]; sms.WatchSheet = sectionlists[AlertIndex]["WatchSheet"]; break; } Result.ErrorInformation = estr; Result.GetSMSAlertOK = ret; Result.ResponseData = sms; return Result; }
/// <summary> /// SMS ���� /// </summary> /// <param name="AccessInformation"></param> /// <param name="AlertInformation"></param> /// <returns></returns> public AddAlertResult AddSMSAlert(AccessControl AccessInformation, SMSAlert AlertInformation) { AddAlertResult Result = new AddAlertResult(); string estr = ""; bool ret = true; string strServer = ""; string strUser = ""; while (ret) { ret = GetAccessControlInformation(AccessInformation); if (!ret) { estr = keytext[ErrorInfo.AccessControlError.ToString()]; } strServer = "localhost"; strUser = "******"; if (AccessInformation.LimitServer) { strServer = AccessInformation.SVDBServer; } if (AccessInformation.LimitUser) { strUser = AccessInformation.UserID; } if (IsAlertNameExist(AccessInformation, AlertInformation.BaseInfo.Name)) { ret = false; estr = keytext[ErrorInfo.AlertNameError.ToString()]; break; } //sms���� if (string.IsNullOrEmpty(AlertInformation.SmsNumber)) { ret = false; break; } if (!string.IsNullOrEmpty(AlertInformation.UpgradeTimes)) { if (!IsAlphaNumber(AlertInformation.UpgradeTimes)) { ret = false; estr = keytext[ErrorInfo.UpgradeTimesError.ToString()]; break; } } if (!string.IsNullOrEmpty(AlertInformation.StopTimes)) { if (!IsAlphaNumber(AlertInformation.StopTimes)) { ret = false; estr = keytext[ErrorInfo.StopTimesError.ToString()]; break; } } break; } string strAlertIndex = ""; while (ret) { strAlertIndex = GenerateAlertIndex(AccessInformation); AlertInformation.BaseInfo.ID = strAlertIndex; //���ݴ洢���� ret = SetIniBaseAlertInfo(AccessInformation, AlertInformation.BaseInfo, estr); if (!ret) { break; } //email���� if (this.iniFile == null) { this.iniFile = new IniFileDaoImpl(); } this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "SmsNumber", AlertInformation.SmsNumber); this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "OtherNumber", AlertInformation.OtherNumber); this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "SmsSendMode", AlertInformation.SendMode); this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "SmsTemplate", AlertInformation.SMSTemplate); this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "WatchSheet", AlertInformation.WatchSheet); this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "Upgrade", AlertInformation.UpgradeTimes); this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "UpgradeTo", AlertInformation.ReceiverAddress); this.iniFile.WriteIniFileString("alert.ini", strAlertIndex, "Stop", AlertInformation.StopTimes); if (queue == null) { this.queue = new QueueDaoImpl(); } //send message to service bool meseagebool = this.queue.PushStringMessage("SiteView70-Alert", "IniChange", "alert.ini," + strAlertIndex + ",ADD"); if (!meseagebool) { estr = keytext[ErrorInfo.PushMessageError.ToString()]; } break; } Result.ErrorInformation = estr; Result.AddAlertOK = ret; Result.AlertIndex = strAlertIndex; return Result; }