private void butAdd_Click(object sender, EventArgs e)
        {
            FormInsFilingCodeSubtypeEdit FormI = new FormInsFilingCodeSubtypeEdit();

            FormI.InsFilingCodeSubtypeCur       = new InsFilingCodeSubtype();
            FormI.InsFilingCodeSubtypeCur.IsNew = true;
            FormI.ShowDialog();
            if (FormI.DialogResult == DialogResult.OK)
            {
                if (InsFilingCodeCur.IsNew)
                {
                    //If we are adding a subtype to a new filing code, then we need to
                    //save the filing code to the database to generate the InsFilingCodeNum,
                    //so that we can then save teh InsFilingCodeSubtype record with the correct
                    //foreign key.
                    SaveFilingCode();
                    InsFilingCodeCur.IsNew = false;
                }
                FormI.InsFilingCodeSubtypeCur.InsFilingCodeNum = InsFilingCodeCur.InsFilingCodeNum;
                try {
                    InsFilingCodeSubtypes.Insert(FormI.InsFilingCodeSubtypeCur);
                }
                catch (Exception ex) {
                    MessageBox.Show(ex.Message);
                    return;
                }
                FillGrid();
            }
        }
        private void gridInsFilingCodeSubtypes_CellDoubleClick(object sender, ODGridClickEventArgs e)
        {
            FormInsFilingCodeSubtypeEdit FormI = new FormInsFilingCodeSubtypeEdit();

            FormI.InsFilingCodeSubtypeCur = insFilingCodeSubtypes[e.Row].Clone();
            FormI.ShowDialog();
            if (FormI.DialogResult == DialogResult.OK)
            {
                try {
                    InsFilingCodeSubtypes.Update(FormI.InsFilingCodeSubtypeCur);
                }
                catch (Exception ex) {
                    MessageBox.Show(ex.Message);
                    return;
                }
            }
            FillGrid();
        }
 private void butDelete_Click(object sender, System.EventArgs e)
 {
     if (InsFilingCodeSubtypeCur.IsNew)
     {
         DialogResult = DialogResult.Cancel;
         return;
     }
     if (!MsgBox.Show(this, true, "Delete?"))
     {
         return;
     }
     try{
         InsFilingCodeSubtypes.Delete(InsFilingCodeSubtypeCur.InsFilingCodeSubtypeNum);
         DialogResult = DialogResult.OK;
     }
     catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
 }
        private void FillGrid()
        {
            InsFilingCodeSubtypes.RefreshCache();
            insFilingCodeSubtypes = InsFilingCodeSubtypes.GetForInsFilingCode(InsFilingCodeCur.InsFilingCodeNum);
            gridInsFilingCodeSubtypes.BeginUpdate();
            gridInsFilingCodeSubtypes.Columns.Clear();
            ODGridColumn col = new ODGridColumn(Lan.g("TableInsFilingCodes", "Description"), 100);

            gridInsFilingCodeSubtypes.Columns.Add(col);
            gridInsFilingCodeSubtypes.Rows.Clear();
            ODGridRow row;

            for (int i = 0; i < insFilingCodeSubtypes.Count; i++)
            {
                row = new ODGridRow();
                row.Cells.Add(insFilingCodeSubtypes[i].Descript);
                gridInsFilingCodeSubtypes.Rows.Add(row);
            }
            gridInsFilingCodeSubtypes.EndUpdate();
        }