/// <summary> /// Generate DDL for current dialog /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void GenerateDdl_OnExecuted(object sender, ExecutedRoutedEventArgs e) { DatabaseModelDesigner designer; if (TryGetSelectedDesigner(out designer)) { var ddlGenerator = BaseGenerator.CreateGenerator(designer.ViewModel.TableViewModels.Select(t => t.Model), designer.ViewModel.ConnectionInfoViewModels.Select(t => t.RelationshipModel), SessionProvider.Instance.ConnectionType, SessionProvider.Instance.Username); string sql = ddlGenerator.GenerateDdl(); var panel = new QueryPanel { Text = sql }; panel.QueryResultReady += PanelOnQueryResultReady; panel.BuildNewQueryPanel(this, $"{designer.ViewModel.DiagramTitle}_DDL"); MainDocumentPane.Children.Add(panel.Anchorable); int indexOf = MainDocumentPane.Children.IndexOf(panel.Anchorable); MainDocumentPane.SelectedContentIndex = indexOf; } }