private void ShowContent(DatabaseObjectDisplayType displayType, bool isNew = true)
        {
            DatabaseObjectDisplayInfo info = new DatabaseObjectDisplayInfo()
            {
                IsNew = isNew, DisplayType = displayType, DatabaseType = this.DatabaseType
            };

            if (!isNew)
            {
                DatabaseObject dbObject = this.tvDbObjects.SelectedNode.Tag as DatabaseObject;

                if (dbObject != null)
                {
                    info.DatabaseObject = dbObject;
                    info.Name           = dbObject.Name;
                }
            }

            info.ConnectionInfo = this.GetCurrentConnectionInfo();

            this.ShowContent(info);
        }
示例#2
0
        private void Save()
        {
            if (this.tabControl1.TabCount < 1)
            {
                return;
            }

            TabPage tabPage = this.tabControl1.SelectedTab;

            if (tabPage == null)
            {
                return;
            }

            DatabaseObjectDisplayInfo displayInfo = tabPage.Tag as DatabaseObjectDisplayInfo;

            if (displayInfo == null)
            {
                return;
            }

            DatabaseObjectDisplayType displayType = displayInfo.DisplayType;

            if (displayType == DatabaseObjectDisplayType.Script || displayType == DatabaseObjectDisplayType.Data)
            {
                if (File.Exists(displayInfo.FilePath))
                {
                    this.SaveToFile(tabPage, displayInfo.FilePath);
                    return;
                }

                if (this.dlgSave == null)
                {
                    this.dlgSave = new SaveFileDialog();
                }

                this.dlgSave.FileName = tabPage.Text.Trim();

                if (displayType == DatabaseObjectDisplayType.Script)
                {
                    this.dlgSave.Filter = "sql file|*.sql|txt file|*.txt";
                }
                else if (displayType == DatabaseObjectDisplayType.Data)
                {
                    this.dlgSave.Filter = "csv file|*.csv|txt file|*.txt";
                }

                DialogResult result = this.dlgSave.ShowDialog();

                if (result == DialogResult.OK)
                {
                    string filePath = this.dlgSave.FileName;

                    this.SaveToFile(tabPage, filePath);

                    displayInfo.FilePath = filePath;

                    string name = Path.GetFileNameWithoutExtension(filePath);

                    displayInfo.IsNew = false;
                    displayInfo.Name  = name;

                    tabPage.Text = this.GetFormatTabHeaderText(name);

                    this.SetTabPageTooltip(tabPage);
                }
            }
            else if (displayType == DatabaseObjectDisplayType.TableDesigner)
            {
                UC_TableDesigner  tableDesigner = this.GetUcControl <UC_TableDesigner>(tabPage);
                ContentSaveResult result        = tableDesigner.Save(new ContentSaveInfo()
                {
                });

                if (result.IsOK)
                {
                    Table table = result.ResultData as Table;

                    displayInfo.IsNew = false;
                    displayInfo.Name  = table.Name;

                    tabPage.Text = this.GetFormatTabHeaderText(displayInfo.Name);

                    this.SetTabPageTooltip(tabPage);
                }
            }
        }