private void _refreshProgramsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Error != null || e.Cancelled) { _activeRecordingsControl.UpcomingPrograms = null; _upcomingProgramsControl.UpcomingPrograms = null; SetStatusIcon(ServerStatus.NotConnected); } else if (e.Result != null) { RefreshProgramsResult result = (RefreshProgramsResult)e.Result; SetStatusIcon(GetServerStatus(result.ActiveRecordings, result.LiveStreams)); _activeRecordingsControl.UnfilteredUpcomingRecordings = new UpcomingOrActiveProgramsList(result.AllUpcomingRecordings); _activeRecordingsControl.UpcomingPrograms = new UpcomingOrActiveProgramsList(result.ActiveRecordings); _upcomingProgramsControl.UpcomingPrograms = result.UpcomingRecordings; } }
private async void RefreshActiveAndUpcomingRecordings() { RefreshProgramsResult result = null; if (Proxies.IsInitialized) { try { result = new RefreshProgramsResult() { AllUpcomingRecordings = await Proxies.ControlService.GetAllUpcomingRecordings(UpcomingRecordingsFilter.Recordings, true), ActiveRecordings = await Proxies.ControlService.GetActiveRecordings(), LiveStreams = await Proxies.ControlService.GetLiveStreams() }; result.UpcomingRecordings = new UpcomingOrActiveProgramsList(result.AllUpcomingRecordings); result.UpcomingRecordings.RemoveActiveRecordings(result.ActiveRecordings); } catch { result = null; } } if (result == null) { _activeRecordingsControl.UpcomingPrograms = null; _upcomingProgramsControl.UpcomingPrograms = null; SetStatusIcon(ServerStatus.NotConnected); } else { SetStatusIcon(GetServerStatus(result.ActiveRecordings, result.LiveStreams)); _activeRecordingsControl.UnfilteredUpcomingRecordings = new UpcomingOrActiveProgramsList(result.AllUpcomingRecordings); _activeRecordingsControl.UpcomingPrograms = new UpcomingOrActiveProgramsList(result.ActiveRecordings); _upcomingProgramsControl.UpcomingPrograms = result.UpcomingRecordings; } }
private void _refreshProgramsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { RefreshProgramsResult result = null; //DateTime startTime = DateTime.Now; if (this.IsConnected) { using (ControlServiceAgent tvControlAgent = new ControlServiceAgent()) { result = new RefreshProgramsResult(); result.AllUpcomingRecordings = tvControlAgent.GetAllUpcomingRecordings(UpcomingRecordingsFilter.Recordings, true); result.ActiveRecordings = tvControlAgent.GetActiveRecordings(); result.LiveStreams = tvControlAgent.GetLiveStreams(); result.UpcomingRecordings = new UpcomingOrActiveProgramsList(result.AllUpcomingRecordings); result.UpcomingRecordings.RemoveActiveRecordings(result.ActiveRecordings); } } //Utility.EnsureMinimumTime(startTime, 250); e.Result = result; }