/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016-08-16 10:45:35</remarks> public bool Update(MonitorDailyeventEntity entity, DbTransaction trans) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_MonitorDailyevent_Update"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, entity.Idx); database.AddInParameter(commandWrapper, "@ZoneId", DbType.Int32, entity.ZoneId); database.AddInParameter(commandWrapper, "@EventType", DbType.Int32, entity.EventType); database.AddInParameter(commandWrapper, "@OpenTime", DbType.DateTime, entity.OpenTime); database.AddInParameter(commandWrapper, "@StartTime", DbType.DateTime, entity.StartTime); database.AddInParameter(commandWrapper, "@EndTime", DbType.DateTime, entity.EndTime); database.AddInParameter(commandWrapper, "@RecordDate", DbType.DateTime, entity.RecordDate); database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status); database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } entity.Idx = (System.Int32)database.GetParameterValue(commandWrapper, "@Idx"); return(Convert.ToBoolean(results)); }
public DailyEventInfo(MonitorDailyeventEntity dailyeventEntity, ConfigDailyeventtimeEntity config, DailyEventThread.DailyeventStartDelegate startDelegate) { _dailyeventEntity = dailyeventEntity; _startDelegate = startDelegate; _config = config; CalNextTime(DateTime.Now); }
/// <summary> /// 将IDataReader的当前记录读取到MonitorDailyeventEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public MonitorDailyeventEntity LoadSingleRow(IDataReader reader) { var obj = new MonitorDailyeventEntity(); obj.Idx = (System.Int32)reader["Idx"]; obj.ZoneId = (System.Int32)reader["ZoneId"]; obj.EventType = (System.Int32)reader["EventType"]; obj.OpenTime = (System.DateTime)reader["OpenTime"]; obj.StartTime = (System.DateTime)reader["StartTime"]; obj.EndTime = (System.DateTime)reader["EndTime"]; obj.RecordDate = (System.DateTime)reader["RecordDate"]; obj.Status = (System.Int32)reader["Status"]; obj.UpdateTime = (System.DateTime)reader["UpdateTime"]; return(obj); }
public bool RegisterEvent(EnumDailyevent eventEnum, DailyeventStartDelegate startDelegate) { var eventType = (int)eventEnum; if (_dailyeventDic.ContainsKey(eventType)) { return(true); } var config = CacheFactory.ActivityCache.GetDailyevent(eventType); if (config == null) { SystemlogMgr.Error("Dailyevent register", "can't find dailyevent config,id:" + eventType); return(false); } DateTime curDate = DateTime.Today; _rwl.AcquireWriterLock(Timeout.Infinite); try { var dailyEvent = MonitorDailyeventMgr.GetByZoneEvent(ShareUtil.ZoneId, eventType); if (dailyEvent == null) { var lastDate = curDate.AddDays(-1); dailyEvent = new MonitorDailyeventEntity(); dailyEvent.EventType = eventType; dailyEvent.ZoneId = ShareUtil.ZoneId; dailyEvent.OpenTime = CalTime(lastDate, config.OpenHour, config.OpenMinute); dailyEvent.StartTime = CalTime(lastDate, config.StartHour, config.StartMinute); dailyEvent.EndTime = CalTime(lastDate, config.EndHour, config.EndMinute); dailyEvent.RecordDate = lastDate; dailyEvent.NextInvokeTime = dailyEvent.OpenTime.AddDays(1); dailyEvent.Status = 0; dailyEvent.UpdateTime = DateTime.Now; MonitorDailyeventMgr.Insert(dailyEvent); } _dailyeventDic.Add(eventType, new DailyEventInfo(dailyEvent, config, startDelegate)); LogHelper.Insert(eventEnum.ToString() + " register success.", LogType.Info); return(true); } finally { _rwl.ReleaseWriterLock(); } }
/// <summary> /// GetById /// </summary> /// <param name="idx">idx</param> /// <returns>MonitorDailyeventEntity</returns> /// <remarks>2016-08-16 10:45:34</remarks> public MonitorDailyeventEntity GetById(System.Int32 idx) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_MonitorDailyevent_GetById"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx); MonitorDailyeventEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
/// <summary> /// GetByZoneEvent /// </summary> /// <param name="zoneId">zoneId</param> /// <param name="eventType">eventType</param> /// <returns>MonitorDailyeventEntity</returns> /// <remarks>2016-08-16 10:45:35</remarks> public MonitorDailyeventEntity GetByZoneEvent(System.Int32 zoneId, System.Int32 eventType) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("C_MonitorEvent_GetByZoneEvent"); database.AddInParameter(commandWrapper, "@ZoneId", DbType.Int32, zoneId); database.AddInParameter(commandWrapper, "@EventType", DbType.Int32, eventType); MonitorDailyeventEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
public static bool Update(MonitorDailyeventEntity monitorDailyeventEntity, DbTransaction trans = null) { var provider = new MonitorDailyeventProvider(); return(provider.Update(monitorDailyeventEntity, trans)); }
/// <summary> /// Update /// </summary> /// <param name="entity"></param> /// <returns></returns> /// <remarks>2016-08-16 10:45:35</remarks> public bool Update(MonitorDailyeventEntity entity) { return(Update(entity, null)); }
/// <summary> /// Insert /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016-08-16 10:45:35</remarks> public bool Insert(MonitorDailyeventEntity entity) { return(Insert(entity, null)); }