Пример #1
0
        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;
            });
        }
Пример #2
0
        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;
 }