private void ViewCSharpScript_Cliked(object sender, RoutedEventArgs e) { try { ErdCanvasModel canvas = EventParser.ParseQuery(this, new ParseQueryEventArguments { Title = "TableObjectCanvasQuery", Arguments = new object[] { this.Table.TableName } }).To <ErdCanvasModel>(); SampleScript scriptor = new SampleScript(); foreach (OptionSetupModel option in BuildScript.Setup.BuildOptions.Where(o => o.RepeatOption == RepeatOptionEnum.ForeachTableProject)) { scriptor.LanguageOption = option.LanguageOption; string fileName = option.OutputFileName.Replace("[[TableName]]", this.Table.TableName); string filePath = Path.Combine(Path.GetTempPath(), $"{fileName}.txt"); List <ErdCanvasModel> allErdCancases = EventParser.ParseQuery(this, "GetAllErdCanvasesAsList").To <List <ErdCanvasModel> >(); string result = scriptor.BuildSampleForeachTableScript(canvas, allErdCancases, this.Table, option); File.WriteAllText(filePath, result); Process.Start(filePath); } } catch (Exception err) { MessageBox.Show(err.Message); } }
private void Initialize() { var resulItems = (EventParser.ParseQuery(this, new ParseQueryEventArguments { Title = "QueryTablesStack" })); bool haveTables = false; foreach (TableMenuItem item in ((List <TableMenuItem>)resulItems).OrderBy(n => n.TableName)) { TableModel table = item.TableModelObject; if (this.excludeCanvasTables.Contains(table.TableName)) { continue; } TreeViewItemTool tool = new TreeViewItemTool { Header = table.TableName, Tag = table, IsCheckBox = true, IsChecked = included.Any(tn => tn.TableName == item.TableName) }; this.uxTables.Items.Add(tool); haveTables = true; } if (!haveTables) { MessageBox.Show("No tables found to select from."); } }