コード例 #1
0
 public void Handle(VideoFileOperationCoroutine message)
 {
     if (!desiredFileOperationsStack.Contains(message) && message.DesiredFileAction == AcceptableFileAction)
     {
         desiredFileOperationsStack.Add(message.Register(desiredFileOperationsStack));
         FindAcceptingFolder(message);
     }
 }
コード例 #2
0
 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));
 }
コード例 #3
0
 private void FindAcceptingFolder(VideoFileOperationCoroutine operation)
 {
     //if (desiredFileOperationsStack.Contains(operation) && operation.DesiredFileAction != operation.AcceptedFileAction && VideoFileTree.Count > 0)
     //{
     //    bool destinationFound = false;
     //    foreach (ITreeViewDisplayable sd in VideoFileTree)
     //    {
     //        if (sd.Children.Select(sf => sf.DisplayName).Contains(operation.BaseFile.ParentFolder.Directory.Name))
     //        {
     //            destinationFound = true;
     //            operation.DestinationSeriesFolder = (SeriesFolder) sd.Children.Single(sf => sf.DisplayName == operation.BaseFile.ParentFolder.Directory.Name);
     //            break;
     //        }
     //    }
     //    if (!destinationFound)
     //    {
     //        operation.DestinationSeriesFolder = VideoFileTree.Cast<VideoFileStorageDevice>().OrderBy(sd => sd.AvailableFreeSpace).First().GetNewSeriesFolder(operation.BaseFile.ParentFolder.Directory.Name);
     //    }
     //    operation.AcceptedFileAction = operation.DesiredFileAction;
     //}
 }