示例#1
0
        public void SendType(Tdms_Admin taAdmin, Tdms_Info daInfo, Tdms_Winservice item)
        {
            Vnet_Reginfo daVinfo = new Vnet_Reginfo();

            if (!daVinfo.SelectByPK(taAdmin.NodeId))
            {
                return;
            }
            //TODO:接入消息中心,此方法屏蔽掉,直接新建一个类似的方法
            //装饰者
            NotifyAdmin notify = new NotifyAdmin();

            //装饰EMail发送功能
            notify           = EMailNotify.New(notify);
            notify.Address   = taAdmin.Email;
            notify.RunResult = item.RunResult;
            notify.Content   = string.Format("[{0}]{2}监控到{1}条非法数据。", daInfo.Title, item.RunResult, DateTime.Now.ToString("MM月dd日"));

            if ((taAdmin.SendType & SqlSendType.短信) == SqlSendType.短信)
            {
                if ((taAdmin.IsSend == SqlIsSend.发送) ||
                    (DateTime.Now.Hour >= 8))
                {
                    //装饰短信发送功能
                    notify         = SMSNotify.New(notify);
                    notify.Address = daVinfo.Mobileno;
                }
            }
            notify.Send();
        }
示例#2
0
文件: MobitorJob.cs 项目: demon28/DMS
 public void Start()
 {
     try
     {
         Tdms_Winservice daWinServcie = new Tdms_Winservice();
         while (true)
         {
             DateTime?minTime = daWinServcie.GetMinTime();
             if (!minTime.HasValue)
             {
                 return;
             }
             if (DateTime.Now <= minTime.Value)
             {
                 var time = minTime.Value;
                 if ((time - DateTime.Now).TotalSeconds > 1 * 60 * 60)
                 {
                     time = DateTime.Now.AddHours(1);
                 }
                 string endInfo = string.Format("监控系统已休眠,下次执行时间为:{0}", time);
                 Log.Info(endInfo);
                 Thread.Sleep(time - DateTime.Now);
             }
             ForeachRun();
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
     }
 }
示例#3
0
 public void IsEixt(Tdms_Winservice item, Tdms_Info daInfo)
 {
     if (item.RunResult > 0)
     {
         IsSend(item, daInfo);
     }
 }
示例#4
0
文件: MobitorJob.cs 项目: demon28/DMS
        public void DateTimeTicks(Tdms_Winservice item)
        {
            DateTime NextTime = item.NextRunTime;
            DateTime row      = DateTime.Now;

            switch (item.Cycle)
            {
            case DeductCycle.小时:
                item.NextRunTime = DateTime.Now.Date.AddHours(DateTime.Now.Hour + 1);
                break;

            case DeductCycle.天:
                item.NextRunTime = new DateTime(row.Year, row.Month, row.Day, NextTime.Hour, NextTime.Minute, NextTime.Second).AddDays(1);
                break;

            case DeductCycle.周:
                item.NextRunTime = new DateTime(row.Year, row.Month, row.Day, NextTime.Hour, NextTime.Minute, NextTime.Second).AddDays(7 - (int)NextTime.DayOfWeek);
                break;

            case DeductCycle.月:
                item.NextRunTime = new DateTime(row.Year, row.Month, NextTime.Day, NextTime.Hour, NextTime.Minute, NextTime.Second).AddMonths(1);
                break;

            case DeductCycle.年:
                item.NextRunTime = new DateTime(row.Year, row.Month, NextTime.Day, NextTime.Hour, NextTime.Minute, NextTime.Second).AddYears(1);
                break;

            default:
                break;
            }
            //switch (item.Cycle)
            //{
            //    case DeductCycle.小时:
            //        item.NextRunTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH")+" "+item.NextRunTime.ToString(":mm:ss")).AddHours(1);
            //        break;
            //    case DeductCycle.天:
            //        item.NextRunTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.NextRunTime.ToString("HH:mm:ss")).AddDays(1);
            //        break;
            //    case DeductCycle.周:
            //        item.NextRunTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.NextRunTime.ToString("HH:mm:ss")).AddDays(7);
            //        break;
            //    case DeductCycle.月:
            //        item.NextRunTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM") + item.NextRunTime.ToString("-dd HH:mm:ss")).AddMonths(1);
            //        break;
            //    case DeductCycle.年:
            //        item.NextRunTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy") + item.NextRunTime.ToString("-MM-dd HH:mm:ss")).AddYears(1);
            //        break;
            //    default:
            //        break;
            //}
        }
示例#5
0
        public ActionResult Delete(VWinServiceModel vModel)
        {
            Tdms_Winservice daWinService = new Tdms_Winservice();

            if (!daWinService.SelectByPK(vModel.Id))
            {
                return(FailResult("此记录不存在"));
            }
            if (!daWinService.Delete(vModel.Id))
            {
                return(FailResult("删除失败"));
            }
            return(SuccessResult());
        }
示例#6
0
        public bool IsSend(Tdms_Winservice item, Tdms_Info daInfo)
        {
            //Tdms_Admin daAdmin = new Tdms_Admin();
            //if (!daAdmin.SelectByInfoId(item.Id))
            //{
            //    Log.Error("[" + daInfo.Title + "]没有管理员!");
            //    return false;
            //}
            Tdms_AdminCollection daAdminColl = new Tdms_AdminCollection();

            daAdminColl.ListByInfoId(item.Id);
            foreach (Tdms_Admin taAdmin in daAdminColl)
            {
                SendType(taAdmin, daInfo, item);
            }
            return(true);
        }
示例#7
0
文件: MobitorJob.cs 项目: demon28/DMS
 public bool Run(Tdms_Info daInfo, Tdms_Winservice item)
 {
     try
     {
         MSQL sql = new MSQL();
         int  count;
         if (!sql.ExecuteSQL(daInfo.SqlContext, out count))
         {
             Log.Error("SQL语句有误");
             Failure(item);
             return(false);
         }
         Success(item, count);
         return(true);
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message);
         Failure(item);
         return(false);
     }
 }
示例#8
0
文件: MobitorJob.cs 项目: demon28/DMS
 public void Failure(Tdms_Winservice item)
 {
     item.RunResult = -1;
     item.Status    = RunStatus.失败;
     DateTimeTicks(item);
 }
示例#9
0
文件: MobitorJob.cs 项目: demon28/DMS
 public void Success(Tdms_Winservice item, int count)
 {
     item.RunResult = count;
     item.Status    = RunStatus.成功;
     DateTimeTicks(item);
 }