Exemplo n.º 1
0
        private void eventSchedule_ScheduleEventStateChanged(object sender, ScheduleEventChangedEventArgs e)
        {
            ScheduleEventChange[] scheduleEventChanges = e.Changes;

            foreach (ScheduleEventChange scheduleEventChange in scheduleEventChanges)
            {
                if (scheduleEventChange.NewState == ScheduleEventStates.IsOccurring)
                {
                    ScheduleEvent scheduleEvent = eventSchedule.GetScheduleEventWithId(scheduleEventChange.ScheduleEventId);
                    onGoingRecordings.Add(RecordingFactory.CreateFromScheduleEvent(scheduleEvent));
                }
                else if (scheduleEventChange.NewState == ScheduleEventStates.HasOccurred)
                {
                    ScheduleEvent scheduleEvent = eventSchedule.GetScheduleEventWithId(scheduleEventChange.ScheduleEventId);
                    onGoingRecordings.Remove(RecordingFactory.CreateFromScheduleEvent(scheduleEvent));
                }
            }
        }
Exemplo n.º 2
0
        public static bool CachedRedDotRecordingMatchesAndIsRecording(string eventKey, ref bool isSeriesRecording)
        {
            isSeriesRecording = false;

            if (!EventScheduleExists)
            {
                return(false);
            }



            if (!_cachedScheduledEventNames.ContainsKey(eventKey))
            {
                return(false);
            }


            string seID = _cachedScheduledEventNames[eventKey];


            // is this event recording?
            ScheduleEvent se = es.GetScheduleEventWithId(seID);

            if (se != null)
            {
                //eventID = se.Id;
                if ((se.State == ScheduleEventStates.WillOccur) | (se.State == ScheduleEventStates.IsOccurring) | (se.State == ScheduleEventStates.HasOccurred))
                {
                    ScheduleRequest sr = null;
                    try
                    { sr = se.GetScheduleRequest();  // Get property from the schedule request if possible, to get series info and also avoid strain on maxRequests errors!
                      isSeriesRecording = ((string)sr.GetExtendedProperty("RequestType") == "Series"); }
                    catch { }  // no schedule request attached, so no series recording: dont flag this
                    return(true);
                }
            }
            return(false);
        }