Beispiel #1
0
        public async Task <FileResult> Copy(Configuration configuration, IFilesCopyHandler handler = null)
        {
            var result = new FileResult();

            Cleaner.AddToCleanup(configuration.TargetPath);
            var testFiles = CreateTestFiles(configuration);

            if (Random)
            {
                testFiles.Shuffle();
            }
            var copyWorkers    = new FileCopyWorkers(configuration, handler, TasksCount);
            var processedFiles = await copyWorkers.ProcessFiles(testFiles);

            var files = processedFiles.GetProcessedItems().Where(s => s.Output);

            result.Count = files.Count();
            result.Size  = files.Sum(s => s.Input.FileSize);
            return(result);
        }
Beispiel #2
0
 public FileCopyWorkers(Configuration configuration, IFilesCopyHandler handler, int tasksCount)
     : base(configuration)
 {
     this.handler = handler;
     TasksCount   = tasksCount;
 }