public async Task <CopyDiagnostics> SyncLinkedFile(string fileName, string sourceFilePath) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); string sourceDirectoryPath = sourceFilePath.Replace(@"\" + fileName, string.Empty); SymbolicLink symbolicLink = await this.symbolicLinkRepo.FirstOrDefaultAsync(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 async Task ForceCopy(long symbolicLinkID) { SymbolicLink symbolicLink = await this.symbolicLinkRepo.FirstOrDefaultAsync(a => a.ID == symbolicLinkID); CopyUtility copyUtil = new CopyUtility(); copyUtil.Copy(symbolicLink.Source, symbolicLink.Target); }