コード例 #1
0
ファイル: EventQueue.cs プロジェクト: seangilbert250/WTS
        /// <summary>
        /// This method checks to see if certain default events are active and scheduled, and if not, it adds them
        /// </summary>
        public void AddDefaultQueueEvents()
        {
            List <IEvent> events = GetEvents((int)EventStatusEnum.Scheduled, (int)EventTypeEnum.CleanEventQueue, true);

            if (events.Count == 0)
            {
                IEvent   evt      = EventFactory.CreateEvent((int)EventTypeEnum.CleanEventQueue);
                DateTime tomorrow = DateTime.Now.AddDays(1.0);
                evt.ScheduledDate = new DateTime(tomorrow.Year, tomorrow.Month, tomorrow.Day);
                SaveEvent(evt);
            }

            events = GetEvents((int)EventStatusEnum.Scheduled, (int)EventTypeEnum.CleanReportQueue, true);
            if (events.Count == 0)
            {
                IEvent   evt      = EventFactory.CreateEvent((int)EventTypeEnum.CleanReportQueue);
                DateTime tomorrow = DateTime.Now.AddDays(1.0);
                evt.ScheduledDate = new DateTime(tomorrow.Year, tomorrow.Month, tomorrow.Day);
                SaveEvent(evt);
            }
        }
コード例 #2
0
ファイル: EventQueue.cs プロジェクト: seangilbert250/WTS
        public List <IEvent> GetEvents(int eventStatusID, int eventTypeID, bool includeFutureEvents = false)
        {
            List <IEvent> events = new List <IEvent>();

            string procName = "EventQueue_Get";

            using (DataTable dt = new DataTable("Data"))
            {
                using (SqlConnection cn = new SqlConnection(WTSCommon.WTS_ConnectionString))
                {
                    cn.Open();
                    using (SqlCommand cmd = new SqlCommand(procName, cn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@EVENT_STATUSID", SqlDbType.Int).Value = eventStatusID;
                        cmd.Parameters.Add("@EVENT_TYPEID", SqlDbType.Int).Value   = eventTypeID;
                        cmd.Parameters.Add("@MaxDate", SqlDbType.DateTime).Value   = includeFutureEvents ? (object)DBNull.Value : DateTime.Now;

                        try
                        {
                            using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.Default))
                            {
                                if (dr != null)
                                {
                                    dt.Load(dr);

                                    foreach (DataRow row in dt.Rows)
                                    {
                                        int  loadedEventTypeID = (int)row["EVENT_TYPEID"];
                                        long eventQueueID      = (long)row["EventQueueID"];

                                        IEvent evt = EventFactory.CreateEvent(loadedEventTypeID);

                                        if (evt != null)
                                        {
                                            try
                                            {
                                                evt.Load(row);
                                                events.Add(evt);
                                            }
                                            catch (Exception ex)
                                            {
                                                LogUtility.LogException(ex);
                                                UpdateEventStatus(eventQueueID, (int)EventStatusEnum.Error, DateTime.Now, "Unable to parse event.", ex.Message + " " + ex.StackTrace);
                                            }
                                        }
                                        else
                                        {
                                            LogUtility.LogError("Unable to parse event. Invalid EVENT_TYPEID (" + loadedEventTypeID + ").");
                                            UpdateEventStatus(eventQueueID, (int)EventStatusEnum.Error, DateTime.Now, "Unable to parse event.", "Unable to parse event. Invalid EVENT_TYPEID (" + loadedEventTypeID + ").");
                                        }
                                    }
                                }
                                else
                                {
                                    return(new List <IEvent>());
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            LogUtility.LogException(ex);
                            throw;
                        }
                    }
                }
            }

            return(events);
        }