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); }
private MediaDeleteDenyReason deleteMedia(IMedia media, bool forceDelete) { if (forceDelete) { _fileManager.Queue(new FileOperation() { Kind = TFileOperationKind.Delete, SourceMedia = media }); return(MediaDeleteDenyReason.NoDeny); } else { MediaDeleteDenyReason reason = (media is PersistentMedia) ? _engine.CanDeleteMedia(media as PersistentMedia) : MediaDeleteDenyReason.NoDeny; if (reason.Reason == MediaDeleteDenyReason.MediaDeleteDenyReasonEnum.NoDeny) { _fileManager.Queue(new FileOperation() { Kind = TFileOperationKind.Delete, SourceMedia = media }); } return(reason); } }