public override void ExecuteCmdlet() { if (this.IsParameterBound(c => c.WorkspaceObject)) { this.WorkspaceName = this.WorkspaceObject.Name; } var fileExtension = ".sql"; if (this.IsParameterBound(c => c.InputObject)) { WriteToFile(this.InputObject); WriteObject(new FileInfo(Path.Combine(this.OutputFolder, this.InputObject.Name + fileExtension))); } else { if (this.IsParameterBound(c => c.Name)) { var sqlscript = new PSSqlScriptResource(SynapseAnalyticsClient.GetSqlScript(this.Name), this.WorkspaceName); WriteToFile(sqlscript); string info = this.OutputFolder + @"\" + sqlscript.Name; WriteObject(info); } else { var infoList = new List <string>(); var sqlscripts = SynapseAnalyticsClient.GetSqlScriptsByWorkspace() .Select(element => new PSSqlScriptResource(element, this.WorkspaceName)); foreach (var sqlscript in sqlscripts) { WriteToFile(sqlscript); string info = this.OutputFolder + @"\" + sqlscript.Name; infoList.Add(info); } WriteObject(infoList.ToArray(), true); } } }
private void WriteToFile(PSSqlScriptResource sqlscript) { var sqlquery = sqlscript?.Properties?.Content?.Query; File.WriteAllText(Path.Combine(this.OutputFolder, sqlscript.Name + ".sql"), sqlquery); }