Пример #1
0
        public void Delete()
        {
            DialogResult dr = MessageBox.Show("確定刪除資料表「" + Table.Name + "」?", "問題", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dr == DialogResult.Yes)
            {
                UDTNodeHandler udt = this.Node.Parent.Tag as UDTNodeHandler;

                //如果是 null, 唯一合理的解釋是此 table 是非專案內的資料表, 故再往上找一層
                if (udt == null)
                {
                    udt = this.Node.Parent.Parent.Tag as UDTNodeHandler;
                }

                //如果還是 null, 除了程式寫錯之外沒有任何合理的解釋
                if (udt == null)
                {
                    MessageBox.Show("節點位置錯誤");
                    return;
                }

                try
                {
                    udt.UDTHandler.DropTable(Table.Name);
                    udt.Reload();
                    MessageBox.Show("刪除完成", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("刪除失敗:\n" + ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Пример #2
0
        public void Save()
        {
            if (!Valid)
            {
                return;
            }

            XmlElement current = this.GetCurrentSchema();

            try
            {
                UDTNodeHandler udt = this.TableNodeHandler.Node.Parent.Tag as UDTNodeHandler;
                udt.UDTHandler.UpdateSchema(current);

                CheckDataChanged(false);
                MessageBox.Show("儲存完畢!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (DSAServerException ex)
            {
                StringBuilder sb = new StringBuilder("儲存失敗!");
                sb.AppendLine(ex.Message);
                sb.AppendLine("----------- 詳細資訊 ------------");
                sb.AppendLine(ex.Response);

                MessageBox.Show(sb.ToString(), "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public override void Save()
        {
            if (!this.Valid)
            {
                return;
            }

            XmlEditor      xe      = this.Editor as XmlEditor;
            TreeNode       parent  = this.TableNodeHandler.Node.Parent;
            UDTNodeHandler udtNode = parent.Tag as UDTNodeHandler;

            if (udtNode == null && parent.Parent != null)
            {
                udtNode = parent.Parent.Tag as UDTNodeHandler;
            }

            if (udtNode == null)
            {
                throw new Exception("節點錯誤, 找不到所屬 UDTNodeHandler.");
            }

            udtNode.UDTHandler.UpdateSchema(xe.Xml);

            this.Table.OnSave(this);

            this.OnDataSaved();
        }
        internal void LoadData(UDTNodeHandler udtNodeHandler)
        {
            _udtNodeHandler = udtNodeHandler;

            lstProject.DisplayMember = "Name";
            lstAll.DisplayMember = "Name";

            foreach (UDTTable table in _udtNodeHandler.UDTHandler.Tables)
                lstProject.Items.Add(table);

            foreach (UDTTable table in _udtNodeHandler.UDTHandler.AllUDTTables)
            {
                if (!_udtNodeHandler.UDTHandler.Tables.Contains(table))
                    lstAll.Items.Add(table);
            }
        }
        internal void LoadData(UDTNodeHandler udtNodeHandler)
        {
            _udtNodeHandler = udtNodeHandler;

            lstProject.DisplayMember = "Name";
            lstAll.DisplayMember     = "Name";

            foreach (UDTTable table in _udtNodeHandler.UDTHandler.Tables)
            {
                lstProject.Items.Add(table);
            }

            foreach (UDTTable table in _udtNodeHandler.UDTHandler.AllUDTTables)
            {
                if (!_udtNodeHandler.UDTHandler.Tables.Contains(table))
                {
                    lstAll.Items.Add(table);
                }
            }
        }
Пример #6
0
        private void LoadDevProject(string projectName, DevSiteLoginInfo devSite)
        {
            ReloadProjectList();

            foreach (ToolStripMenuItem item in cmOpenProject.DropDownItems)
                item.Checked = item.Text == projectName;

            MainForm.CurrentProject = Projects.LoadProjectHandler(projectName);

            if (CurrentProject == null)
                return;

            if (CurrentProject.Status == ProjectStatus.LoadFail)
                return;

            //ProjectHandler project = null;
            //if (devSite != null)
            //    project = new ProjectHandler(projectName, devSite);
            //else
            //    project = new ProjectHandler(projectName);
            ProjectHandler project = MainForm.CurrentProject;

            tvProjects.Nodes.Clear();

            TreeNode tn = tvProjects.Nodes.Add(projectName);
            tn.SelectedImageKey = "project";
            tn.ImageKey = "project";
            ProjectNodeHandler projectNodeHandler = new ProjectNodeHandler(tn, project);
            projectNodeHandler.Reloaded += new EventHandler(projectNodeHandler_Reloaded);
            tn.Tag = projectNodeHandler;

            TreeNode udtNode = tn.Nodes.Add("UDT");
            udtNode.ImageKey = "udts";
            udtNode.SelectedImageKey = "udts";
            udtNode.ToolTipText = "自訂資料表";
            UDTNodeHandler udtNodeHandler = new UDTNodeHandler(udtNode);
            udtNode.Tag = udtNodeHandler;
            udtNodeHandler.Reload();
            MainForm.CurrentUDT = udtNodeHandler.UDTHandler;

            TreeNode udsNode = tn.Nodes.Add("UDS");
            udsNode.ImageKey = "udss";
            udsNode.SelectedImageKey = "udss";
            udsNode.ToolTipText = "自訂服務";
            UDSNodeHandler udsNodeHandler = new UDSNodeHandler(udsNode);
            udsNode.Tag = udsNodeHandler;
            udsNodeHandler.Reload();
            MainForm.CurrentUDS = udsNodeHandler.UDSHandler;

            TreeNode fileNode = tn.Nodes.Add("檔案管理");
            fileNode.SelectedImageKey = "upload";
            fileNode.ImageKey = "upload";

            MainForm.CurrentFileNodeHandler = null;
            if (MainForm.LoginArgs.SucceedModuleLogin)
            {
                fileNode.ToolTipText = string.Empty;
                FileNodeHandler fileNodeHandler = new FileNodeHandler(fileNode);
                fileNode.Tag = fileNodeHandler;
                MainForm.CurrentFileNodeHandler = fileNodeHandler;
            }
            else
            {
                fileNode.ToolTipText = "檔案管理伺服器登入失敗";
            }
            tvProjects.ExpandAll();
            udtNodeHandler.CollapseOutsideProject();
            udsNodeHandler.CollapseOutsideProject();
        }
Пример #7
0
 internal UDTImportForm(UDTNodeHandler udtNodeHandler)
 {
     InitializeComponent();
     _udtNodeHandler = udtNodeHandler;
 }
Пример #8
0
        public void LoadData(object source)
        {
            UDTNodeHandler s = source as UDTNodeHandler;

            _editor.LoadData(s);
        }
Пример #9
0
 internal UDTNodeEditable(UDTNodeHandler udtNodeHandler)
 {
     _udtNodeHandler = udtNodeHandler;
 }
Пример #10
0
 internal AddUDTForm(UDTNodeHandler nodeHandler)
 {
     InitializeComponent();
     UDTNodeHandler = nodeHandler;
 }
 internal UDTNodeEditable(UDTNodeHandler udtNodeHandler)
 {
     _udtNodeHandler = udtNodeHandler;
 }
Пример #12
0
 internal UDTImportForm(UDTNodeHandler udtNodeHandler)
 {
     InitializeComponent();
     _udtNodeHandler = udtNodeHandler;
 }
Пример #13
0
 internal AddUDTForm(UDTNodeHandler nodeHandler)
 {
     InitializeComponent();
     UDTNodeHandler = nodeHandler;
 }