示例#1
0
        private void StoreDeliverLog(string DeviceId, int DeviceAlertId, DeviceAlarmType AlertType, AlertDelivery ad)
        {
            try
            {
                ad.ToAddresses.ForEach(receivers =>
                {
                    Data.StoreData_ExecuteNonQuery(DataBase.Alert, CommandType.StoredProcedure, "A_StoreEmailLog",
                                                   new SqlParameter[] {
                        new SqlParameter("DeviceAlertId", DeviceAlertId),
                        new SqlParameter("DeviceId", DeviceId),
                        new SqlParameter("AlertType", AlertType),
                        new SqlParameter("Email", receivers.ToAddress),

                        new SqlParameter("EmailSubject", (ad.EmailContent != null) ? ad.EmailContent.Subject: string.Empty),
                        new SqlParameter("EmailPlainText", (ad.EmailContent != null) ? ad.EmailContent.PlainText: string.Empty),
                        new SqlParameter("EmailHtmlContent", (ad.EmailContent != null) ? ad.EmailContent.HtmlContent: string.Empty),
                        new SqlParameter("SmsSubject", (ad.SmsContent != null) ?ad.SmsContent.Subject: string.Empty),
                        new SqlParameter("SmsPlainText", (ad.SmsContent != null) ?ad.SmsContent.PlainText: string.Empty),

                        new SqlParameter("MediumType", Convert.ToInt32(receivers.MediumType)),
                        new SqlParameter("SentStatus", receivers.SentStatus.ToString()),
                        new SqlParameter("ErrorMessage", receivers.ErrorMessage)
                    });
                });
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
示例#2
0
        public ActionResult Delete(int AlertId, DeviceAlarmType alertType)
        {
            // Delete Alerts


            switch (alertType)
            {
            case DeviceAlarmType.NormalAlarm:
                break;

            case DeviceAlarmType.PowerCutAlarm:
                break;

            case DeviceAlarmType.SOSAlarm:
                break;

            case DeviceAlarmType.SpeedAlarm:
                break;

            case DeviceAlarmType.BreakAlarm:
                break;

            case DeviceAlarmType.VibrationAlarm:
                break;

            case DeviceAlarmType.FenceAlarm:
                break;

            case DeviceAlarmType.MovingAlarm:
                break;

            case DeviceAlarmType.AccAlarm:
                break;

            case DeviceAlarmType.StopAlarm:
                break;

            case DeviceAlarmType.AcAlarm:
                break;

            case DeviceAlarmType.FenceOutAlarm:
                break;

            case DeviceAlarmType.FenceInAlarm:
                break;

            default:
                break;
            }
            return(Speed(0));
        }
示例#3
0
        public List <AlertDetail> GetAvilableAlerts(DeviceAlarmType AlertType)
        {
            List <AlertDetail> list = new List <AlertDetail>();

            try
            {
                List <SqlParameter> dbParams = new List <SqlParameter>();
                if (AlertType != DeviceAlarmType.FenceAlarm)
                {
                    dbParams.Add(new SqlParameter("AlertType", AlertType));
                }
                DataTable alertsDt = Data.GetData(DataBase.Api,
                                                  System.Data.CommandType.StoredProcedure, "Master_GetAvailableAlerts", dbParams.ToArray());
                if (alertsDt != null && alertsDt.Rows.Count > 0)
                {
                    alertsDt.AsEnumerable().ToList().ForEach(a =>
                    {
                        if (AlertType == DeviceAlarmType.FenceAlarm)
                        {
                            DeviceAlarmType DbAlertType = (DeviceAlarmType)Enum.Parse(typeof(DeviceAlarmType), Convert.ToString(a["AlertType"]));
                            if (DbAlertType == DeviceAlarmType.FenceInAlarm || DbAlertType == DeviceAlarmType.FenceOutAlarm)
                            {
                                list.Add(new AlertDetail()
                                {
                                    Id   = Convert.ToInt32(a["Id"]),
                                    Name = Convert.ToString(a["Name"])
                                });
                            }
                            else
                            {
                                // Skip other than fence
                            }
                        }
                        else
                        {
                            list.Add(new AlertDetail()
                            {
                                Id   = Convert.ToInt32(a["Id"]),
                                Name = Convert.ToString(a["Name"])
                            });
                        }
                    });
                }
            }
            catch (Exception ex)
            {
            }
            return(list);
        }
示例#4
0
        public static EmailContent GetEmailTemplateWithValues(DeviceAlarmType deviceAlarmType, object Model)
        {
            EmailContent ec = new EmailContent();
            try
            {
                string FileNameToRead = string.Empty;

                string AlarmTypeStr = deviceAlarmType.ToString();

                string fileContent = string.Empty;

                if (!EmailSubjectTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Email\" + AlarmTypeStr + @"Subject.txt");
                    EmailSubjectTemplate.Add(AlarmTypeStr, fileContent);
                }

                if (!EmailPlainTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Email\" + AlarmTypeStr + @"Plain.txt");
                    EmailPlainTemplate.Add(AlarmTypeStr, fileContent);
                }

                if (!EmailHtmlTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Email\" + AlarmTypeStr + @"Html.html");
                    EmailHtmlTemplate.Add(AlarmTypeStr, fileContent);
                }

                ec.Subject = EmailSubjectTemplate[AlarmTypeStr];
                ec.PlainText = EmailPlainTemplate[AlarmTypeStr];
                ec.HtmlContent = EmailHtmlTemplate[AlarmTypeStr];

                ec.Subject = Engine.Razor.RunCompile(ec.Subject, AlarmTypeStr + "Subject", null, Model);
                ec.PlainText = Engine.Razor.RunCompile(ec.PlainText, AlarmTypeStr + "Plain", null, Model);
                ec.HtmlContent = Engine.Razor.RunCompile(ec.HtmlContent, AlarmTypeStr + "Html", null, Model);

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return ec;
        }
示例#5
0
        public static EmailContent GetEmailTemplateWithValues(DeviceAlarmType deviceAlarmType, object Model)
        {
            EmailContent ec = new EmailContent();

            try
            {
                string FileNameToRead = string.Empty;

                string AlarmTypeStr = deviceAlarmType.ToString();

                string fileContent = string.Empty;

                if (!EmailSubjectTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Email\" + AlarmTypeStr + @"Subject.txt");
                    EmailSubjectTemplate.Add(AlarmTypeStr, fileContent);
                }

                if (!EmailPlainTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Email\" + AlarmTypeStr + @"Plain.txt");
                    EmailPlainTemplate.Add(AlarmTypeStr, fileContent);
                }

                if (!EmailHtmlTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Email\" + AlarmTypeStr + @"Html.html");
                    EmailHtmlTemplate.Add(AlarmTypeStr, fileContent);
                }

                ec.Subject     = EmailSubjectTemplate[AlarmTypeStr];
                ec.PlainText   = EmailPlainTemplate[AlarmTypeStr];
                ec.HtmlContent = EmailHtmlTemplate[AlarmTypeStr];

                ec.Subject     = Engine.Razor.RunCompile(ec.Subject, AlarmTypeStr + "Subject", null, Model);
                ec.PlainText   = Engine.Razor.RunCompile(ec.PlainText, AlarmTypeStr + "Plain", null, Model);
                ec.HtmlContent = Engine.Razor.RunCompile(ec.HtmlContent, AlarmTypeStr + "Html", null, Model);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return(ec);
        }
示例#6
0
        public static SmsContent GetSmsTemplateWithValues(DeviceAlarmType deviceAlarmType, object Model)
        {
            SmsContent sc = new SmsContent();

            try
            {
                string FileNameToRead = string.Empty;

                string AlarmTypeStr = deviceAlarmType.ToString();

                string fileContent = string.Empty;

                if (!SmsSubjectTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Sms\" + AlarmTypeStr + @"Subject.txt");
                    SmsSubjectTemplate.Add(AlarmTypeStr, fileContent);
                }

                if (!SmsPlainTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Sms\" + AlarmTypeStr + @"Plain.txt");
                    SmsPlainTemplate.Add(AlarmTypeStr, fileContent);
                }

                sc.Subject   = SmsSubjectTemplate[AlarmTypeStr];
                sc.PlainText = SmsPlainTemplate[AlarmTypeStr];

                sc.Subject   = Engine.Razor.RunCompile(sc.Subject, AlarmTypeStr + "SmsSubject", null, Model);
                sc.PlainText = Engine.Razor.RunCompile(sc.PlainText, AlarmTypeStr + "SmsPlain", null, Model);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return(sc);
        }
示例#7
0
        public List<AlertDetail> GetAvilableAlerts(DeviceAlarmType AlertType)
        {
            List<AlertDetail> list = new List<AlertDetail>();
            try
            {
                List<SqlParameter> dbParams = new List<SqlParameter>();
                if (AlertType != DeviceAlarmType.FenceAlarm)
                {
                    dbParams.Add(new SqlParameter("AlertType", AlertType));
                }
                DataTable alertsDt = Data.GetData(DataBase.Api,
                    System.Data.CommandType.StoredProcedure, "Master_GetAvailableAlerts", dbParams.ToArray());
                if (alertsDt != null && alertsDt.Rows.Count > 0)
                {
                    alertsDt.AsEnumerable().ToList().ForEach(a =>
                    {
                        if (AlertType == DeviceAlarmType.FenceAlarm)
                        {
                            DeviceAlarmType DbAlertType = (DeviceAlarmType)Enum.Parse(typeof(DeviceAlarmType), Convert.ToString(a["AlertType"]));
                            if (DbAlertType == DeviceAlarmType.FenceInAlarm || DbAlertType == DeviceAlarmType.FenceOutAlarm)
                            {
                                list.Add(new AlertDetail()
                                {
                                    Id = Convert.ToInt32(a["Id"]),
                                    Name = Convert.ToString(a["Name"])
                                });
                            }
                            else
                            {
                                // Skip other than fence
                            }
                        }
                        else
                        {
                            list.Add(new AlertDetail()
                            {
                                Id = Convert.ToInt32(a["Id"]),
                                Name = Convert.ToString(a["Name"])
                            });
                        }

                    });
                }
            }
            catch (Exception ex)
            {
            }
            return list;
        }
示例#8
0
        private void StoreDeliverLog(string DeviceId, int DeviceAlertId, DeviceAlarmType AlertType, AlertDelivery ad)
        {
            try
            {
                ad.ToAddresses.ForEach(receivers =>
                {
                    Data.StoreData_ExecuteNonQuery(DataBase.Alert, CommandType.StoredProcedure, "A_StoreEmailLog",
                        new SqlParameter[] {
                             new SqlParameter("DeviceAlertId", DeviceAlertId),
                             new SqlParameter("DeviceId", DeviceId),
                             new SqlParameter("AlertType", AlertType),
                             new SqlParameter("Email", receivers.ToAddress),

                             new SqlParameter("EmailSubject", (ad.EmailContent != null) ? ad.EmailContent.Subject: string.Empty),
                             new SqlParameter("EmailPlainText", (ad.EmailContent != null) ? ad.EmailContent.PlainText: string.Empty),
                             new SqlParameter("EmailHtmlContent", (ad.EmailContent != null) ? ad.EmailContent.HtmlContent: string.Empty),
                             new SqlParameter("SmsSubject", (ad.SmsContent!= null) ?ad.SmsContent.Subject: string.Empty),
                             new SqlParameter("SmsPlainText", (ad.SmsContent!= null) ?ad.SmsContent.PlainText: string.Empty),

                             new SqlParameter("MediumType", Convert.ToInt32(receivers.MediumType)),
                             new SqlParameter("SentStatus", receivers.SentStatus.ToString()),
                             new SqlParameter("ErrorMessage", receivers.ErrorMessage)
                       });
                });
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
示例#9
0
        public static SmsContent GetSmsTemplateWithValues(DeviceAlarmType deviceAlarmType, object Model)
        {
            SmsContent sc = new SmsContent();
            try
            {
                string FileNameToRead = string.Empty;

                string AlarmTypeStr = deviceAlarmType.ToString();

                string fileContent = string.Empty;

                if (!SmsSubjectTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Sms\" + AlarmTypeStr + @"Subject.txt");
                    SmsSubjectTemplate.Add(AlarmTypeStr, fileContent);
                }

                if (!SmsPlainTemplate.ContainsKey(AlarmTypeStr))
                {
                    fileContent = string.Empty;
                    fileContent = System.IO.File.ReadAllText(@"Templates\Sms\" + AlarmTypeStr + @"Plain.txt");
                    SmsPlainTemplate.Add(AlarmTypeStr, fileContent);
                }

                sc.Subject = SmsSubjectTemplate[AlarmTypeStr];
                sc.PlainText = SmsPlainTemplate[AlarmTypeStr];

                sc.Subject = Engine.Razor.RunCompile(sc.Subject, AlarmTypeStr + "SmsSubject", null, Model);
                sc.PlainText = Engine.Razor.RunCompile(sc.PlainText, AlarmTypeStr + "SmsPlain", null, Model);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return sc;
        }
示例#10
0
        public ActionResult Delete(int AlertId, DeviceAlarmType alertType)
        {
            // Delete Alerts

            switch (alertType)
            {
                case DeviceAlarmType.NormalAlarm:
                    break;
                case DeviceAlarmType.PowerCutAlarm:
                    break;
                case DeviceAlarmType.SOSAlarm:
                    break;
                case DeviceAlarmType.SpeedAlarm:
                    break;
                case DeviceAlarmType.BreakAlarm:
                    break;
                case DeviceAlarmType.VibrationAlarm:
                    break;
                case DeviceAlarmType.FenceAlarm:
                    break;
                case DeviceAlarmType.MovingAlarm:
                    break;
                case DeviceAlarmType.AccAlarm:
                    break;
                case DeviceAlarmType.StopAlarm:
                    break;
                case DeviceAlarmType.AcAlarm:
                    break;
                case DeviceAlarmType.FenceOutAlarm:
                    break;
                case DeviceAlarmType.FenceInAlarm:
                    break;
                default:
                    break;
            }
            return Speed(0);
        }