private void btnRemove_Click(object sender, EventArgs e) { DialogResult dialogResult; SegmentTableMapping stm = null; TreeNode selectedNode = tvSegmentTableMap.SelectedNode; Type nodeType = selectedNode.Tag.GetType(); switch (nodeType.Name) { case "SegmentTableMapping": stm = selectedNode.Tag as SegmentTableMapping; dialogResult = MessageBox.Show("By removing the parent all lower mappings will be removed. Do you wish to continue?", "Delete", MessageBoxButtons.OKCancel); if (dialogResult == DialogResult.OK) { _segmentDBMappingList.SegmentMappings.Remove(stm); tvSegmentTableMap.Nodes.Remove(selectedNode); } break; case "SegmentDBColumnMapping": SegmentDBColumnMapping sdbc = selectedNode.Tag as SegmentDBColumnMapping; stm = selectedNode.Parent.Tag as SegmentTableMapping; dialogResult = MessageBox.Show("Are you sure you want to delete?", "Delete", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { stm.ColumnMappings.Remove(sdbc); tvSegmentTableMap.Nodes.Remove(selectedNode); } break; } }
private void btnMap_Click(object sender, EventArgs e) { var dbTable = cmbDBTables.SelectedItem as DBTable; var dbColumn = lstDBColumns.SelectedItem as DBColumn; var segment = cmbSegment.SelectedItem.ToString(); var segColumn = lstSegColumns.SelectedItem.ToString(); if (_segmentDBMappingList == null) { MessageBox.Show("You must select New to create a new mapping file."); return; } else { btnSaveMap.Enabled = true; btnRemove.Enabled = true; } //first check to see if the db column already exists SegmentTableMapping stm = _segmentDBMappingList.SegmentMappings.Find(x => x.SegmentName == segment); if (stm == null) { stm = new SegmentTableMapping(segment, dbTable.TableName); _segmentDBMappingList.SegmentMappings.Add(stm); } SegmentDBColumnMapping scm = stm.ColumnMappings.Find(x => x.DatabaseColumn == dbColumn.ColumnName); if (scm == null) { scm = new SegmentDBColumnMapping(segColumn, dbColumn.ColumnName); stm.ColumnMappings.Add(scm); } else { MessageBox.Show(string.Format("{0} is already mapped", segColumn)); } //Load the treeview tvSegmentTableMap.Nodes.Clear(); foreach (SegmentTableMapping tvSTM in _segmentDBMappingList.SegmentMappings) { TreeNode tnSegmentDB = new TreeNode(tvSTM.ToString()); tnSegmentDB.Name = tvSTM.SegmentName; tnSegmentDB.Tag = tvSTM; foreach (SegmentDBColumnMapping col in tvSTM.ColumnMappings) { TreeNode tnSDBC = new TreeNode(col.ToString()); tnSDBC.Name = col.SegmentColumn; tnSDBC.Tag = col; tnSegmentDB.Nodes.Add(tnSDBC); } tvSegmentTableMap.Nodes.Add(tnSegmentDB); } tvSegmentTableMap.ExpandAll(); //BL : once the user selects a Message,Event and Version disable so they can change mid mapping. EnableDisableControl(Enable_Disable_Control.DISABLE); }