public CopyDiagnostics SyncLinkedFile(string fileName, string sourceFilePath) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); string sourceDirectoryPath = sourceFilePath.Replace(@"\" + fileName, string.Empty); SymbolicLink symbolicLink = DirWatchTransferApp.SymbolicLinks.FirstOrDefault(a => a.Source == sourceDirectoryPath); string targetFilePath = Path.Combine(symbolicLink.Target, fileName); string targetDirectoryPath = Path.GetDirectoryName(targetFilePath); if (!Directory.Exists(targetDirectoryPath)) { Directory.CreateDirectory(targetDirectoryPath); } CopyUtility copyUtility = new CopyUtility(); copyUtility.Copy(sourceFilePath, targetFilePath); stopwatch.Stop(); return(new CopyDiagnostics() { SourcePath = sourceFilePath, TargetPath = targetFilePath, ElapsedTime = stopwatch.ElapsedMilliseconds }); }
public CopyDiagnostics SyncLinkedDirectory(string symbolicLinkName) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); SymbolicLink symbolicLink = DirWatchTransferApp.SymbolicLinks.FirstOrDefault(a => a.Name == symbolicLinkName); CopyUtility copyUtility = new CopyUtility(); copyUtility.CopyDirectory(symbolicLink.Source, symbolicLink.Target); stopwatch.Stop(); return(new CopyDiagnostics() { SourcePath = symbolicLink.Source, TargetPath = symbolicLink.Target, ElapsedTime = stopwatch.ElapsedMilliseconds }); }