Ejemplo n.º 1
0
        /// <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;
            }
        }