public async Task <string> DownloadTask(TaskDefinition taskDefinition) { var taskDestFolder = TaskStoreHelper.GetTaskLocation(taskDefinition.Name, taskDefinition.Version.Major); if (TaskStoreHelper.IsTaskAlreadyDownloaded(taskDestFolder)) { return(taskDestFolder); } await Task.Run(() => DirectoryCopy(GetLocalTaskFolder(taskDefinition.Name, taskDefinition.Version.Major), taskDestFolder)); return(taskDestFolder); }
public async Task <string> DownloadTask(TaskDefinition taskDefinition) { var taskDestFolder = TaskStoreHelper.GetTaskLocation(taskDefinition.Name, taskDefinition.Version.Major); if (TaskStoreHelper.IsTaskAlreadyDownloaded(taskDestFolder)) { return(taskDestFolder); } var zipFile = Path.Combine(_configuration.TempDir, string.Format("{0}.zip", Guid.NewGuid())); await DownloadTask(taskDefinition, zipFile); TaskStoreHelper.ClearOrCreateTaskLocationFolder(taskDestFolder); ZipFile.ExtractToDirectory(zipFile, taskDestFolder); File.Delete(zipFile); return(taskDestFolder); }