public void Handle(VideoFileOperationCoroutine message) { if (!desiredFileOperationsStack.Contains(message) && message.DesiredFileAction == AcceptableFileAction) { desiredFileOperationsStack.Add(message.Register(desiredFileOperationsStack)); FindAcceptingFolder(message); } }
public void Handle(VideoFileOperationCoroutine message) { if (!fileOperationsStack.Contains(message) && message.DesiredFileAction != VideoArchiveAction.NoAction) { fileOperationsStack.Add(message.Register(fileOperationsStack)); } //Items.SelectMany(sg => sg.VideoFileTree).Cast<VideoFileStorageDevice>() // .Apply(sd => sd.AvailableFreeSpace = sd.StorageDevice.AvailableFreeSpace // + fileOperationsStack.Where(op => (op.AcceptedFileAction == VideoArchiveAction.ToArchive || op.AcceptedFileAction == VideoArchiveAction.ToPrelimArchive) && op.BaseFile.ParentFolder.StorageDevice.FolderPath == sd.SeriesDirectoryAsPath).Sum(op => op.ByteVolume) // - fileOperationsStack.Where(op => (op.AcceptedFileAction == VideoArchiveAction.ToArchive || op.AcceptedFileAction == VideoArchiveAction.ToPrelimArchive || op.AcceptedFileAction == VideoArchiveAction.TransferCopy) && op.DestinationSeriesFolder.StorageDevice.FolderPath == sd.SeriesDirectoryAsPath).Sum(op => op.ByteVolume)); }