예제 #1
0
        public int AddSubfile(AAMVASubfileType subfileType, string subfileTypeCode)
        {
            SubfileSkeleton subfileSkeleton = new SubfileSkeleton();

            subfileSkeleton.SubfileType     = subfileType;
            subfileSkeleton.SubfileTypeCode = subfileTypeCode;
            subfileSkeleton.DataElements    = new Dictionary <string, AAMVADataElement>();
            _subfiles.Add(subfileSkeleton);
            _textBoxNumEntries.Text = _subfiles.Count.ToString();

            SubfileRowControl subfileRow = new SubfileRowControl();

            subfileRow.ParentMainForm = this;
            subfileRow.SubfileIndex   = _subfiles.Count - 1;
            subfileRow.Jurisdiction   = ((AAMVAJurisdiction)_comboBoxJurisdiction.SelectedValue);
            subfileRow.SubfileType    = subfileType;
            subfileRow.Dock           = DockStyle.Top;
            _panelSubfiles.Controls.Add(subfileRow);
            _panelSubfiles.Controls.SetChildIndex(subfileRow, 0);
            EnableWriteButtons();
            if (subfileType == AAMVASubfileType.DL || subfileType == AAMVASubfileType.ID)
            {
                DisableJurisdiction();
            }

            //return the index
            return(_subfiles.Count - 1);
        }
예제 #2
0
        public void RemoveSubfile(int subfileIndex)
        {
            SubfileSkeleton skeleton = _subfiles[subfileIndex];

            if (skeleton.SubfileType == AAMVASubfileType.DL || skeleton.SubfileType == AAMVASubfileType.ID)
            {
                EnableJurisdiction();
            }

            for (int i = 0; i < _panelSubfiles.Controls.Count; i++)
            {
                Control ctrl = _panelSubfiles.Controls[i];
                if (ctrl is SubfileRowControl)
                {
                    SubfileRowControl row = (SubfileRowControl)ctrl;
                    if (skeleton.SubfileType == row.SubfileType)
                    {
                        _panelSubfiles.Controls.Remove(row);
                    }
                }
            }
            _subfiles.RemoveAt(subfileIndex);
            foreach (Control ctrl in _panelSubfiles.Controls)
            {
                if (ctrl is SubfileRowControl)
                {
                    SubfileRowControl row = (SubfileRowControl)ctrl;
                    if (row.SubfileIndex >= subfileIndex)
                    {
                        row.SubfileIndex--;
                    }
                }
            }
            _textBoxNumEntries.Text = _subfiles.Count.ToString();
            if (_subfiles.Count < 1)
            {
                DisableWriteButtons();
            }
        }