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(); }
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); } }
public void IsEixt(Tdms_Winservice item, Tdms_Info daInfo) { if (item.RunResult > 0) { IsSend(item, daInfo); } }
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; //} }
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()); }
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); }
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); } }
public void Failure(Tdms_Winservice item) { item.RunResult = -1; item.Status = RunStatus.失败; DateTimeTicks(item); }
public void Success(Tdms_Winservice item, int count) { item.RunResult = count; item.Status = RunStatus.成功; DateTimeTicks(item); }