private void MergeFiles(string machine, TaskInfo task) { Logger.AddTrace("Merging Shared Task"); string targetZipFile; string sharedPath = FileUtilities.GetAbsolutePath(task.GetSharedPath()); string targetPath = Path.Combine(Path.GetTempPath(), task.Id.ToString()); if (!ViewsManager.DownloadTaskFile(machine, task, out targetZipFile, task.GetSharedPath())) { return; } //clean temporal path before decompress new files if (Directory.Exists(targetPath)) { Directory.Delete(targetPath, true); } try { ZipFiles.Decompress(targetPath, targetZipFile); } catch (Exception e) { Logger.AddException(e); } bool isDirectory = string.IsNullOrEmpty(Path.GetExtension(sharedPath)); if (!isDirectory) { targetPath = Path.Combine(targetPath, Path.GetFileName(sharedPath)); } FileUtilities.ForceCreateDirectory(sharedPath); this.ExecuteMergeTool(sharedPath, targetPath, isDirectory); }
private void OverwriteFiles(string machine, TaskInfo task) { Logger.AddTrace("Overwriting Files"); string targetZipFile; string sharedPath = FileUtilities.GetAbsolutePath(task.GetSharedPath()); string targetPath = Path.GetDirectoryName(sharedPath); if (!ViewsManager.DownloadTaskFile(machine, task, out targetZipFile, task.GetSharedPath())) { return; } try { ZipFiles.Decompress(targetPath, targetZipFile); } catch (Exception e) { Logger.AddException(e); } }