private void insertItem_Click(object sender, EventArgs e) { dbConnection.Open(); //TUObjectDTO tuObjectData = new TUObjectDTO(); int classId = System.Convert.ToInt32(((ToolStripMenuItem)sender).Tag); dbCommand.CommandText = "Select FormName From Classes_ Where ClassId = " + classId; string className = (string)dbCommand.ExecuteScalar(); TUObjects tuObject; Type t = Type.GetType(DefinedConstants.logicLeyerNameSpace + "." + className + ", " + DefinedConstants.logicLeyerNameSpace); tuObject = (TUObjects)Activator.CreateInstance(t, dbConnection, dbServer); TUObjectsDTO tuObjectData; Type tDTO = Type.GetType(DefinedConstants.dataLeyerNameSpace + "." + className + "DTO, " + DefinedConstants.dataLeyerNameSpace); tuObjectData = (TUObjectsDTO)Activator.CreateInstance(tDTO); tuObjectData.ClassId = classId; tuObjectData.Major = ((TreeNodeData)clickNode.Tag).Id; //showing dialog ViewDataClient editDialog = new ViewDataClient(tuObject, tuObjectData, DBAction.Insert); if (editDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { dbCommand.CommandText = "Select Count(Id) From TUObjects Where Major = " + ((TreeNodeData)clickNode.Tag).Id; int count = (int)dbCommand.ExecuteScalar(); dbCommand.CommandText = "Select Max(Id) From TUObjects"; int tmpId = (int)dbCommand.ExecuteScalar(); //tree modification if (((TreeNodeData)clickNode.Tag).WasOpened) { string connectionStr = ((TreeNodeData)clickNode.Tag).ConnectionStringName; TreeNode tmp = new TreeNode(tuObjectData.Name); TreeNodeData cls = new TreeNodeData(tmpId, false, connectionStr); tmp.Tag = cls; tmp.ContextMenuStrip = clickNode.ContextMenuStrip; clickNode.Nodes.Add(tmp); } else if (count == 1) { clickNode.Nodes.Add("Virtual Node"); } } dbConnection.Close(); }
protected void FillTreeNavigation(int major, TreeNode tNode, ContextMenuStrip nodeContextMenuStrip) { //change the type of data base if (tNode != null) { TreeNodeData dataNode = (TreeNodeData)tNode.Tag; currentConnectionStringName = dataNode.ConnectionStringName; } if (!string.IsNullOrEmpty(currentConnectionStringName)) { currentProviderName = ConfigurationManager.ConnectionStrings[currentConnectionStringName].ProviderName; currentConnectionString = ConfigurationManager.ConnectionStrings[currentConnectionStringName].ConnectionString; switch (currentProviderName) { case "System.Data.SqlClient": { dbConnection = sqlConnection; dbCommand = sqlCommand; dbConnectionDaughter = sqlConnectionDaughter; dbCommandDaughter = sqlCommandDaughter; break; } case "FirebirdSql.Data.FirebirdClient": { dbConnection = fbConnection; dbCommand = fbCommand; dbConnectionDaughter = fbConnectionDaughter; dbCommandDaughter = fbCommandDaughter; break; } default: { throw new Exception("Bad name of current connection string"); } } } else { throw new Exception("Bad name of current connection string"); } //logic dbConnection.Open(); dbConnectionDaughter.Open(); TreeNodeData treeNodeData; TreeNode currentNode; int i = 0, n = 0; dbCommand.CommandText = "Select Id, Name From TUObjects Where Major = " + major + " Order by ClassId, Name"; dbDataReader = dbCommand.ExecuteReader(); while (dbDataReader.Read()) { treeNodeData = new TreeNodeData(dbDataReader.GetInt32(0), false, currentConnectionStringName); currentNode = new TreeNode(dbDataReader.GetString(1)); currentNode.Tag = treeNodeData; if(nodeContextMenuStrip != null) currentNode.ContextMenuStrip = nodeContextMenuStrip; if (tNode != null) tNode.Nodes.Add(currentNode); else treeNavigation.Nodes.Add(currentNode); dbCommandDaughter.CommandText = "Select Count(Id) From TUObjects Where Major = " + dbDataReader.GetInt32(0); n = (int)dbCommandDaughter.ExecuteScalar(); if (n > 0) { if (tNode != null) tNode.Nodes[i].Nodes.Add("Virtual Node"); else treeNavigation.Nodes[i].Nodes.Add("Virtual Node"); } i++; } dbDataReader.Close(); dbConnection.Close(); dbConnectionDaughter.Close(); }
protected override void BaseTreeNavigator_Shown(object sender, EventArgs e) { //currentConnectionStringName = ConfigurationManager.AppSettings["currentConnectionStringName"]; ChooseDBDialog chooseDB = new ChooseDBDialog(); if (chooseDB.ShowDialog() == System.Windows.Forms.DialogResult.OK) { treeNavigation.BeginUpdate(); treeNavigation.UseWaitCursor = true; nativeConnectionStringName = chooseDB.ConnectionStringName; currentConnectionStringName = chooseDB.ConnectionStringName; FillTreeNavigation(0, null, nodeContextMenuStrip); TreeNodeData linkNodeData = new TreeNodeData(0, false, string.Empty); linkNode = new TreeNode("Link"); linkNode.Tag = linkNodeData; linkNode.ContextMenuStrip = linkContextMenuStrip; linkNode.Nodes.Add("Virtual Node"); wasLoaded_linkNode = false; treeNavigation.Nodes.Add(linkNode); treeNavigation.UseWaitCursor = false; treeNavigation.EndUpdate(); } else { Application.Exit(); } }