private static void RemoveScheduleEntry(ScheduleEntry wmc) { if (wmc.ProgramContent == null) { goto RemoveEntry; } using (var allRecordings = new Recordings(WmcStore.WmcObjectStore)) { var programContentKey = new ProgramContentKey(wmc.ProgramContent); var recordings = (Recordings)allRecordings.WhereKeyIsInRange(programContentKey, programContentKey); if (recordings.Any()) { var enumerator = recordings.GetEnumerator(); while (enumerator.MoveNext()) { var recordingAffected = (Recording)enumerator.Current; if (recordingAffected?.Request is OneTimeRequest) { Logger.WriteWarning($"OneTimeRequest recording on {wmc.Service.CallSign} at {wmc.StartTime.ToLocalTime()} for [{wmc.Program.Title}]-[{wmc.Program.EpisodeTitle}] may have been rescheduled or is no longer valid. Check your guide."); } } } } RemoveEntry: wmc.Unlock(); wmc.Update(delegate { wmc.Service = null; wmc.Program = null; }); }
public Microsoft.MediaCenter.Guide.Program ReplacementMergePrograms(ScheduleEntry source, ScheduleEntry existing, Service targetService) { var program = OriginalMergePrograms(source, existing, targetService); if (program.GetUIdValue() == source.Program.GetUIdValue() && !ScheduleEntryFlagsMatch(source, existing)) { if (!Program.options.safeMode) { Util.Trace(TraceLevel.Warning, "ScheduleEntry flags do not match. Updating flags in the db: MXF: {0} Store: {1}", source, existing); UpdateScheduleEntryFlags(source, existing); existing.Update(); } } return(program); }
public Microsoft.MediaCenter.Guide.Program ReplacementMergePrograms(ScheduleEntry source, ScheduleEntry existing, Service targetService) { var program = OriginalMergePrograms(source, existing, targetService); if (program.GetUIdValue() == source.Program.GetUIdValue() && !ScheduleEntryFlagsMatch(source, existing)) { if (!Program.options.safeMode) { Util.Trace(TraceLevel.Warning, "ScheduleEntry flags do not match. Updating flags in the db: MXF: {0} Store: {1}", source, existing); UpdateScheduleEntryFlags(source, existing); existing.Update(); } } return program; }