コード例 #1
0
        public MediaDeleteDenyReason CheckCanDeleteMedia(IServerMedia media)
        {
            Event nev = this;

            while (nev != null)
            {
                if (nev.EventType == TEventType.Movie &&
                    nev.Media == media &&
                    nev.ScheduledTime >= Engine.CurrentTime)
                {
                    return new MediaDeleteDenyReason()
                           {
                               Reason = MediaDeleteDenyReason.MediaDeleteDenyReasonEnum.MediaInFutureSchedule, Event = nev, Media = media
                           }
                }
                ;
                foreach (Event se in nev._subEvents.Value.ToList())
                {
                    MediaDeleteDenyReason reason = se.CheckCanDeleteMedia(media);

                    if (reason.Reason != MediaDeleteDenyReason.MediaDeleteDenyReasonEnum.NoDeny)
                    {
                        return(reason);
                    }
                }
                nev = nev.Next as Event;
            }
            return(MediaDeleteDenyReason.NoDeny);
        }
コード例 #2
0
        public void ArchiveSave(IServerMedia media, bool deleteAfterSuccess)
        {
            ArchiveMedia archived;

            if (media.IsArchived &&
                (archived = this.DbMediaFind <ArchiveMedia>(media)) != null &&
                archived.FileExists())
            {
                if (deleteAfterSuccess)
                {
                    MediaManager.FileManager.Queue(new FileOperation {
                        Kind = TFileOperationKind.Delete, SourceMedia = media
                    }, false);
                }
            }
            else
            {
                _archiveCopy((Media)media, this, deleteAfterSuccess, false);
            }
        }
コード例 #3
0
        public void ArchiveSave(IServerMedia media, bool deleteAfterSuccess)
        {
            ArchiveMedia archived;

            if (media.IsArchived &&
                (archived = EngineController.Database.DbMediaFind <ArchiveMedia>(this, media)) != null &&
                archived.FileExists())
            {
                if (deleteAfterSuccess)
                {
                    MediaManager.FileManager.Queue(new FileOperation((FileManager)MediaManager.FileManager)
                    {
                        Kind = TFileOperationKind.Delete, Source = media
                    },
                                                   false);
                }
            }
            else
            {
                _archiveCopy((MediaBase)media, this, deleteAfterSuccess, false);
            }
        }
コード例 #4
0
 public void ArchiveSave(IServerMedia media, bool deleteAfterSuccess)
 {
     Invoke(parameters: new object[] { media, deleteAfterSuccess });
 }