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;
            }
        }
Esempio n. 2
0
        public frmDatabaseView(SegmentTableMapping stm)
        {
            InitializeComponent();

            this.Text = string.Format("{0} : {1}", stm.SegmentName, stm.TableName);

            try
            {
                gridSegment.DataSource = stm.TableData;
            }
            catch (Exception ex)
            {
                LogError(string.Format("Database view of segment had an unexpected error. {0}", ex.Message));
            }
        }
        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);
        }