Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
 public DailyEventInfo(MonitorDailyeventEntity dailyeventEntity, ConfigDailyeventtimeEntity config, DailyEventThread.DailyeventStartDelegate startDelegate)
 {
     _dailyeventEntity = dailyeventEntity;
     _startDelegate    = startDelegate;
     _config           = config;
     CalNextTime(DateTime.Now);
 }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        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();
            }
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
        /// <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));
        }
Beispiel #8
0
 /// <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));
 }
Beispiel #9
0
 /// <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));
 }