Exemplo n.º 1
0
        private Task SyncOneFileAsync(
            RefactorFileModel file,
            string destinationFile,
            CancellationToken cancellationToken)
        {
            if (Directory.Exists(destinationFile))
            {
                Directory.Delete(destinationFile, true);
            }

            return(CopyFileAsync(file.Sources.Single(), destinationFile, cancellationToken));
        }
Exemplo n.º 2
0
        private Task SyncManyFileAsync(
            RefactorFileModel file,
            string destinationPath,
            CancellationToken cancellationToken)
        {
            if (File.Exists(destinationPath))
            {
                File.Delete(destinationPath);
            }

            Directory.CreateDirectory(destinationPath);

            var extension = Path.GetExtension(file.Name);

            var sourcesTasks = file.Sources.Select(source =>
            {
                var destinationFile = Path.Combine(destinationPath, $"{GetStringHash(source.Path)}{extension}");

                return(CopyFileAsync(source, destinationFile, cancellationToken));
            }).ToArray();

            return(Task.WhenAll(sourcesTasks));
        }