Exemple #1
0
        internal static AlarmConfigurationEntity GetConfig()
        {
            var defaultConfig = AlarmConfigurationBase.GetDefaultConfig();
            var config        = configService.GetConfigItemValue(true, "AlarmConfiguration", defaultConfig, update => AlarmService.Init());

            return(config);
        }
Exemple #2
0
        private void SendMessage(string configName, string mobileMessage, string mailMessage)
        {
            ThreadPool.QueueUserWorkItem(state =>
            {
                try
                {
                    var configitem = AlarmConfigurationBase.GetConfig().AlarmConfigurationByStatistics.Values.FirstOrDefault(c => c.ConfigName == configName);
                    if (configitem != null)
                    {
                        foreach (var groupName in configitem.AlarmReceiverGroupNames.Values)
                        {
                            var group = AlarmConfigurationBase.GetConfig().AlarmReceiverGroups.Values.FirstOrDefault(g => g.GroupName == groupName);
                            foreach (var r in group.AlarmReceivers)
                            {
                                var admin = mongodbQueryService.GetAdminConfigurationInternal(r.Value.Name);
                                if (admin != null)
                                {
                                    if (group.EnableMobileMessage)
                                    {
                                        var mobile = new MobileItem
                                        {
                                            MobileNumber  = admin.MobileNumber,
                                            MobileMessage = mobileMessage,
                                        };
                                        mobileService.Send(new List <MobileItem> {
                                            mobile
                                        });
                                    }

                                    if (group.EnableMailMessage)
                                    {
                                        var mail = new MailItem
                                        {
                                            MailTitle   = mailMessage,
                                            MailBody    = mailMessage,
                                            MailAddress = admin.MailAddress,
                                        };
                                        mailService.Send(new List <MailItem> {
                                            mail
                                        });
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    ex.Handle("SendMessage");
                    throw;
                }
            });
        }
Exemple #3
0
        public List <MongodbAdminConfigurationItem> GetAlarmReceivers(string groupName)
        {
            List <MongodbAdminConfigurationItem> receivers = new List <MongodbAdminConfigurationItem>();
            var group = AlarmConfigurationBase.GetConfig().AlarmReceiverGroups.Values.FirstOrDefault(g => g.GroupName == groupName);

            foreach (var r in group.AlarmReceivers)
            {
                var admin = mongodbQueryService.GetAdminConfigurationInternal(r.Value.Name);
                if (admin != null)
                {
                    receivers.Add(admin);
                }
            }
            return(receivers);
        }
Exemple #4
0
        public List <string> GetAlarmGroup()
        {
            var group = AlarmConfigurationBase.GetConfig().AlarmReceiverGroups.Values.Select(a => a.GroupName).ToList();

            return(group);
        }
Exemple #5
0
 static DataService()
 {
     mailService.Init(AlarmConfigurationBase.GetConfig().MailSmtp, AlarmConfigurationBase.GetConfig().MailUsername, AlarmConfigurationBase.GetConfig().MailPassword);
     mobileService.Init(AlarmConfigurationBase.GetConfig().MobileCategoryId);
 }