Exemplo n.º 1
0
        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");
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        public override Alert CreateAlert(string title, string msg, string recipient)
        {
            SMSAlert alert = new SMSAlert(recipient, title + "-" + msg);

            return(alert);
        }
Exemplo n.º 5
0
    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);
    }
Exemplo n.º 6
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;
        }
Exemplo n.º 7
0
        /// <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;
        }