private void GetTablesForSelectedDatabase()
        {
            if (DatabaseListBox.DataSource == null)
            {
                return;
            }

            if (!string.IsNullOrWhiteSpace(ServerNameTextBox.Text))
            {
                _scaffoldBuilder.ServerName = ServerNameTextBox.Text;
            }

            var ops = new SqlServerDatabaseInformation(_scaffoldBuilder.ServerName);

            ContextNameTextBox.Text = $"{DatabaseListBox.Text}Context";

            var tableNames = ops.TableNames(DatabaseListBox.Text);

            if (ops.IsSuccessFul == false)
            {
                MessageBox.Show($"Error getting tables\n{ops.LastExceptionMessage}");
                return;
            }

            TablesCheckedListBox.DataSource = tableNames;

            for (var index = 0; index < TablesCheckedListBox.Items.Count; index++)
            {
                TablesCheckedListBox.SetItemCheckState(index, CheckState.Checked);
            }
        }
        private void GetDatabaseNamesButton_Click(object sender, EventArgs e)
        {
            if (ProviderComboBox.DataSource == null)
            {
                var dataProvider = new DatabaseProviders();
                ProviderComboBox.DataSource = dataProvider.List;
            }

            if (!string.IsNullOrWhiteSpace(ServerNameTextBox.Text))
            {
                _scaffoldBuilder.ServerName = ServerNameTextBox.Text;
            }

            var ops    = new SqlServerDatabaseInformation(_scaffoldBuilder.ServerName);
            var result = ops.DatabaseNames();

            if (ops.IsSuccessFul)
            {
                DatabaseListBox.DataSource = result;
            }
            else
            {
                MessageBox.Show($"Error: {ops.LastExceptionMessage}");
            }
        }
Esempio n. 3
0
        static void GenerateHtml(Options options)
        {
            Console.WriteLine("Generating ... ");

            //
            // get database information
            //
            IEnumerable <TableInfo> tables;

            using (var dbinfo = new SqlServerDatabaseInformation(options.ConnectionString))
            {
                tables = dbinfo.GetTables(options.DatabaseName);
            }

            //
            // build html
            //
            var indexTemplate = File.ReadAllText(
                PathHelpers.GetAppDirFilePath("Templates\\Index.cshtml")
                );
            var indexHtml = RazorEngine.Engine.Razor.RunCompile(
                indexTemplate,
                "index.html",
                null,
                new IndexViewModel {
                DatabaseName = options.DatabaseName, Tables = tables
            },
                null
                );

            //
            // output html,css
            //
            File.WriteAllText(
                System.IO.Path.Combine(options.OutputDirectoryPath, "index.html"),
                indexHtml,
                System.Text.Encoding.UTF8
                );

            System.IO.File.Copy(PathHelpers.GetAppDirFilePath("css\\style.css"),
                                System.IO.Path.Combine(options.OutputDirectoryPath, "style.css"),
                                true
                                );

            Console.WriteLine("done.");
        }
        /// <summary>
        /// Get databases from ServerName form level variable above
        /// </summary>
        private void Form1_Shown(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(_scaffoldBuilder.ServerName))
            {
                var ops = new SqlServerDatabaseInformation(_scaffoldBuilder.ServerName);

                var result = ops.DatabaseNames();

                if (ops.IsSuccessFul)
                {
                    DatabaseListBox.DataSource = result;
                }
                else
                {
                    MessageBox.Show($"Error: {ops.LastExceptionMessage}");
                }
            }
        }