public override void ExecuteCmdlet() { DownloadTaskFileOptions options = new DownloadTaskFileOptions(this.BatchContext, this.WorkItemName, this.JobName, this.TaskName, this.Name, this.InputObject, this.DestinationPath, this.DestinationStream, this.AdditionalBehaviors); BatchClient.DownloadTaskFile(options); }
/// <summary> /// Downloads a Task file using the specified options. /// </summary> /// <param name="options">The download options</param> public void DownloadTaskFile(DownloadTaskFileOptions options) { if (options == null) { throw new ArgumentNullException("options"); } if ((string.IsNullOrWhiteSpace(options.WorkItemName) || string.IsNullOrWhiteSpace(options.JobName) || string.IsNullOrWhiteSpace(options.TaskName) || string.IsNullOrWhiteSpace(options.TaskFileName)) && options.TaskFile == null) { throw new ArgumentNullException(Resources.GBTFC_NoTaskFileSpecified); } ITaskFile taskFile = null; if (options.TaskFile == null) { using (IWorkItemManager wiManager = options.Context.BatchOMClient.OpenWorkItemManager()) { taskFile = wiManager.GetTaskFile(options.WorkItemName, options.JobName, options.TaskName, options.TaskFileName, options.AdditionalBehaviors); } } else { taskFile = options.TaskFile.omObject; } string path = null; // The task file object's name is a relative path that includes directories. string fileName = Path.GetFileName(taskFile.Name); if (string.IsNullOrWhiteSpace(options.DestinationPath)) { // If no destination is specified, just save the file to the local directory path = fileName; } else { path = Path.Combine(options.DestinationPath, fileName); } WriteVerbose(string.Format(Resources.GBTFC_Downloading, taskFile.Name, path)); if (options.Stream != null) { // Used for testing. // Don't dispose supplied Stream taskFile.CopyToStream(options.Stream, options.AdditionalBehaviors); } else { using (FileStream fs = new FileStream(path, FileMode.Create)) { taskFile.CopyToStream(fs, options.AdditionalBehaviors); } } }
/// <summary> /// Downloads a task file using the specified options. /// </summary> /// <param name="options">The download options</param> public void DownloadTaskFile(DownloadTaskFileOptions options) { if (options == null) { throw new ArgumentNullException("options"); } ITaskFile taskFile = null; if (options.TaskFile == null) { using (IWorkItemManager wiManager = options.Context.BatchOMClient.OpenWorkItemManager()) { taskFile = wiManager.GetTaskFile(options.WorkItemName, options.JobName, options.TaskName, options.TaskFileName, options.AdditionalBehaviors); } } else { taskFile = options.TaskFile.omObject; } DownloadITaskFile(taskFile, options.DestinationPath, "task", options.Stream, options.AdditionalBehaviors); }
/// <summary> /// Downloads a task file using the specified options. /// </summary> /// <param name="options">The download options</param> public void DownloadTaskFile(DownloadTaskFileOptions options) { if (options == null) { throw new ArgumentNullException("options"); } ITaskFile taskFile = null; if (options.TaskFile == null) { using (IWorkItemManager wiManager = options.Context.BatchOMClient.OpenWorkItemManager()) { taskFile = wiManager.GetTaskFile(options.WorkItemName, options.JobName, options.TaskName, options.TaskFileName, options.AdditionalBehaviors); } } else { taskFile = options.TaskFile.omObject; } DownloadITaskFile(taskFile, options.DestinationPath, "task", options.Stream, options.AdditionalBehaviors); }