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)); } } }
/// <summary> /// Event schedule change event /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Microsoft.MediaCenter.TV.Scheduling.ScheduleEventChangedEventArgs"/> instance containing the event data.</param> void ScheduleEventStateChanged(object sender, ScheduleEventChangedEventArgs e) { Trace.TraceInformation("ScheduleEventStateChanged() Start"); Trace.Indent(); try { foreach (ScheduleEventChange eventChange in e.Changes) { Trace.TraceInformation("ScheduleEventStateChanged() event #{0}", eventChange.ScheduleEventId); SocketServer.SendMessage(String.Format(CultureInfo.InvariantCulture, "Recording_{0}={1}\r\n", eventChange.NewState, eventChange.ScheduleEventId)); } } catch (Exception ex) { Trace.TraceError(ex.ToString()); } finally { Trace.Unindent(); Trace.TraceInformation("ScheduleEventStateChanged() End"); } }