private static void GetRecordingIconAndToolTip(UpcomingOrActiveProgramsList upcomingRecordings, UpcomingCancellationReason cancellationReason, bool isPartOfSeries, UpcomingRecording recording, out Icon icon, out string toolTip) { toolTip = null; if (cancellationReason == UpcomingCancellationReason.Manual) { icon = isPartOfSeries ? Properties.Resources.RecordSeriesCancelledIcon : Properties.Resources.RecordCancelledIcon; } else if (cancellationReason == UpcomingCancellationReason.PreviouslyRecorded || cancellationReason == UpcomingCancellationReason.AlreadyQueued) { icon = isPartOfSeries ? Properties.Resources.RecordSeriesCancelledHistoryIcon : Properties.Resources.RecordCancelledHistoryIcon; } else { if (recording != null && recording.CardChannelAllocation == null) { icon = (isPartOfSeries ? Properties.Resources.RecordSeriesInConflictIcon : Properties.Resources.RecordInConflictIcon); toolTip = CreateConflictingProgramsToolTip(upcomingRecordings, recording.ConflictingPrograms); } else if (recording != null && recording.ConflictingPrograms.Count > 0) { icon = (isPartOfSeries ? Properties.Resources.RecordSeriesWithWarningIcon : Properties.Resources.RecordWithWarningIcon); toolTip = CreateConflictingProgramsToolTip(upcomingRecordings, recording.ConflictingPrograms); } else { icon = GetIcon(ScheduleType.Recording, isPartOfSeries); } } }
public static string CreateConflictingProgramsToolTip(UpcomingOrActiveProgramsList upcomingRecordings, List<Guid> programIds, string conflictsText, string noCardFoundText) { StringBuilder toolTip = new StringBuilder(); foreach (Guid programId in programIds) { if (toolTip.Length > 0) { toolTip.AppendLine(); } else { toolTip.AppendLine(conflictsText); } UpcomingProgram upcomingProgram = upcomingRecordings.FindProgramById(programId); if (upcomingProgram != null) { toolTip.AppendFormat("● {0} {1:g}-{2:t} {3}", upcomingProgram.Channel.DisplayName, upcomingProgram.StartTime, upcomingProgram.StopTime, upcomingProgram.CreateProgramTitle()); } else { toolTip.Append("● ?"); } } if (toolTip.Length == 0) { toolTip.Append(noCardFoundText); } return toolTip.ToString(); }
public static void GetIconAndToolTip(ScheduleType scheduleType, UpcomingCancellationReason cancellationReason, bool isPartOfSeries, UpcomingOrActiveProgramsList upcomingRecordings, UpcomingRecording upcomingRecording, out Icon icon, out string toolTip) { toolTip = null; bool isCancelled = (cancellationReason != UpcomingCancellationReason.None); switch (scheduleType) { case ScheduleType.Recording: GetRecordingIconAndToolTip(upcomingRecordings, cancellationReason, isPartOfSeries, upcomingRecording, out icon, out toolTip); break; case ScheduleType.Alert: icon = isCancelled ? (isPartOfSeries ? Properties.Resources.AlertSeriesCancelledIcon : Properties.Resources.AlertCancelledIcon) : GetIcon(ScheduleType.Alert, isPartOfSeries); break; case ScheduleType.Suggestion: icon = isCancelled ? (isPartOfSeries ? Properties.Resources.SuggestionSeriesCancelledIcon : Properties.Resources.SuggestionCancelledIcon) : GetIcon(ScheduleType.Suggestion, isPartOfSeries); break; default: icon = Properties.Resources.TransparentIcon; break; } }
public void RemoveUpcomingProgram(Guid scheduleId, Guid?guideProgramId, Guid channelId, DateTime startTime) { UpcomingOrActiveProgramsList upcomingProgramsList = _upcomingProgramsListBindingSource.DataSource as UpcomingOrActiveProgramsList; foreach (UpcomingOrActiveProgramView upcomingView in upcomingProgramsList) { UpcomingProgram upcomingProgram = upcomingView.UpcomingProgram; if (upcomingProgram.ScheduleId == scheduleId && upcomingProgram.Channel.ChannelId == channelId && upcomingProgram.GuideProgramId == guideProgramId && upcomingProgram.StartTime == startTime) { upcomingProgramsList.Remove(upcomingView); break; } } _upcomingProgramsListBindingSource.ResetBindings(false); }
public void RemoveUpcomingProgramsForSchedule(Guid scheduleId) { UpcomingOrActiveProgramsList upcomingProgramsList = _upcomingProgramsListBindingSource.DataSource as UpcomingOrActiveProgramsList; List <UpcomingOrActiveProgramView> toRemove = new List <UpcomingOrActiveProgramView>(); foreach (UpcomingOrActiveProgramView upcomingView in upcomingProgramsList) { UpcomingProgram upcomingProgram = upcomingView.UpcomingProgram; if (upcomingProgram.ScheduleId == scheduleId) { toRemove.Add(upcomingView); } } foreach (UpcomingOrActiveProgramView upcomingView in toRemove) { upcomingProgramsList.Remove(upcomingView); } _upcomingProgramsListBindingSource.ResetBindings(false); }
private void RefreshUpcomingPrograms() { try { Cursor.Current = Cursors.WaitCursor; UpcomingOrActiveProgramsList upcomingPrograms; if (_scheduleType == ScheduleType.Recording) { UpcomingRecordingsFilter filter = _showSkippedRecordings.Checked ? UpcomingRecordingsFilter.All : UpcomingRecordingsFilter.Recordings | UpcomingRecordingsFilter.CancelledByUser; var allUpcomingRecordings = Proxies.ControlService.GetAllUpcomingRecordings(filter, true).Result; _upcomingProgramsControl.UnfilteredUpcomingRecordings = new UpcomingOrActiveProgramsList(allUpcomingRecordings); upcomingPrograms = new UpcomingOrActiveProgramsList(allUpcomingRecordings); upcomingPrograms.RemoveActiveRecordings(Proxies.ControlService.GetActiveRecordings().Result); } else { _upcomingProgramsControl.UnfilteredUpcomingRecordings = null; upcomingPrograms = new UpcomingOrActiveProgramsList(Proxies.SchedulerService.GetAllUpcomingPrograms(_scheduleType, true).Result); } ScheduleSummary schedule = _schedulesComboBox.SelectedItem as ScheduleSummary; if (schedule != null) { upcomingPrograms.ApplyScheduleFilter(schedule.ScheduleId); } _upcomingProgramsControl.UpcomingPrograms = upcomingPrograms; } catch (Exception ex) { MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor.Current = Cursors.Default; } }
private static string CreateConflictingProgramsToolTip(UpcomingOrActiveProgramsList upcomingRecordings, List<Guid> programIds) { return ProcessUtility.CreateConflictingProgramsToolTip(upcomingRecordings, programIds, "Conflicts:", "No card found to record program"); }
private void RefreshUpcomingPrograms() { try { Cursor.Current = Cursors.WaitCursor; UpcomingOrActiveProgramsList upcomingPrograms; if (_scheduleType == ScheduleType.Recording) { UpcomingRecordingsFilter filter = _showSkippedRecordings.Checked ? UpcomingRecordingsFilter.All : UpcomingRecordingsFilter.Recordings|UpcomingRecordingsFilter.CancelledByUser; var allUpcomingRecordings = Proxies.ControlService.GetAllUpcomingRecordings(filter, true).Result; _upcomingProgramsControl.UnfilteredUpcomingRecordings = new UpcomingOrActiveProgramsList(allUpcomingRecordings); upcomingPrograms = new UpcomingOrActiveProgramsList(allUpcomingRecordings); upcomingPrograms.RemoveActiveRecordings(Proxies.ControlService.GetActiveRecordings().Result); } else { _upcomingProgramsControl.UnfilteredUpcomingRecordings = null; upcomingPrograms = new UpcomingOrActiveProgramsList(Proxies.SchedulerService.GetAllUpcomingPrograms(_scheduleType, true).Result); } ScheduleSummary schedule = _schedulesComboBox.SelectedItem as ScheduleSummary; if (schedule != null) { upcomingPrograms.ApplyScheduleFilter(schedule.ScheduleId); } _upcomingProgramsControl.UpcomingPrograms = upcomingPrograms; } catch (Exception ex) { MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor.Current = Cursors.Default; } }
private static string CreateConflictingProgramsToolTip(UpcomingOrActiveProgramsList upcomingRecordings, List <Guid> programIds) { return(ProcessUtility.CreateConflictingProgramsToolTip(upcomingRecordings, programIds, "Conflicts:", "No card found to record program")); }