Пример #1
0
        public void BindData(BindType bindType)
        {
            if (bindType == BindType.Form)
            {
                var queryargument = new QueryArgument(UserContext.DataBaseInfo)
                {
                    Key          = CountryId,
                    filter1      = Constants.CountryType,
                    BindType     = bindType,
                    QueryType    = Constants.TableMCatHeader,
                    SubFilterKey = Constants.TableMCatDetls
                };
                var countries = _controlPanel.GetCountry(queryargument);

                if (countries == null)
                {
                    return;
                }
                var country = countries.FirstOrDefault();
                if (country != null)
                {
                    CountryId      = country.CountryId;
                    CountryName    = country.CountryName.Trim();
                    CurrencyCode   = country.CurrencyCode.Trim();
                    CurrencyName   = country.CurrencyName.Trim();
                    CurrencySymbol = country.CurrencySymbol.Trim();
                    Denomination   = country.Denomination.Trim();
                }
                lnkSubmit.Visible = hidAction.Value != Constants.ViewAction;

                var state = country.States;
                GridViewState.DataSource = state;
                if (_newPageIndex >= 0)
                {
                    GridViewState.PageIndex = _newPageIndex;
                }
                GridViewState.DataBind();
                uplForm.Update();
            }
            else
            {
                var queryargument = new QueryArgument(UserContext.DataBaseInfo)
                {
                    Key       = CountryId,
                    filter1   = Constants.CountryType,
                    BindType  = bindType,
                    QueryType = Constants.TableMCatHeader
                };
                var countries = _controlPanel.GetCountry(queryargument);

                GridViewTable.DataSource = countries;
                if (_newPageIndex >= 0)
                {
                    GridViewTable.PageIndex = _newPageIndex;
                }
                GridViewTable.DataBind();
                uplView.Update();
            }
        }
Пример #2
0
 private void dgvEmployers_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (e.RowIndex == -1 && dgvEmployers.SelectedRows.Count > 0)
     {
         _GridViewState = GridViewState.Sorting;
         _employerTemp  = ((Employer)dgvEmployers.SelectedRows[0].DataBoundItem);
     }
 }
Пример #3
0
 private void dgvRestrictedCasePrefixes_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (e.RowIndex == -1 && dgvRestrictedCasePrefixes.SelectedRows.Count > 0)
     {
         _GridViewState            = GridViewState.Sorting;
         _RestrictedCasePrefixTemp = ((RestrictedCasePrefix)dgvRestrictedCasePrefixes.SelectedRows[0].DataBoundItem);
     }
 }
 private void dgvPaymentArrangementTypes_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (e.RowIndex == -1 && dgvPaymentArrangementTypes.SelectedRows.Count > 0)
     {
         _GridViewState = GridViewState.Sorting;
         _paymentArrangementTypeTemp = ((PaymentArrangementType)dgvPaymentArrangementTypes.SelectedRows[0].DataBoundItem);
     }
 }
Пример #5
0
 public void BindData(States state)
 {
     GridViewState.DataSource = state;
     if (_newPageIndex >= 0)
     {
         GridViewState.PageIndex = _newPageIndex;
     }
     GridViewState.DataBind();
     uplView.Update();
 }
Пример #6
0
 private void dgvEmployers_Sorted(object sender, EventArgs e)
 {
     if (_employerTemp != null)
     {
         int row = bindingEmployers.IndexOf(_employerTemp);
         dgvEmployers.BeginInvoke((MethodInvoker) delegate()
         {
             dgvEmployers.Rows[row].Selected = true;
             dgvEmployers.CurrentCell        = dgvEmployers[0, row];
         });
     }
     _employerTemp  = null;
     _GridViewState = GridViewState.None;
 }
Пример #7
0
 private void dgvRestrictedCasePrefixes_Sorted(object sender, EventArgs e)
 {
     if (_RestrictedCasePrefixTemp != null)
     {
         int row = bindingRestrictedCasePrefixes.IndexOf(_RestrictedCasePrefixTemp);
         dgvRestrictedCasePrefixes.BeginInvoke((MethodInvoker) delegate()
         {
             dgvRestrictedCasePrefixes.Rows[row].Selected = true;
             dgvRestrictedCasePrefixes.CurrentCell        = dgvRestrictedCasePrefixes[0, row];
         });
     }
     _RestrictedCasePrefixTemp = null;
     _GridViewState            = GridViewState.None;
 }
 private void dgvPaymentArrangementTypes_Sorted(object sender, EventArgs e)
 {
     if (_paymentArrangementTypeTemp != null)
     {
         int row = bindingPaymentArrangementTypes.IndexOf(_paymentArrangementTypeTemp);
         dgvPaymentArrangementTypes.BeginInvoke((MethodInvoker) delegate()
         {
             dgvPaymentArrangementTypes.Rows[row].Selected = true;
             dgvPaymentArrangementTypes.CurrentCell        = dgvPaymentArrangementTypes[0, row];
         });
     }
     _paymentArrangementTypeTemp = null;
     _GridViewState = GridViewState.None;
 }
Пример #9
0
 private void ClearForm()
 {
     lnkAddState.Style.Add("cursor", "Pointer");
     CountryId                = string.Empty;
     CountryName              = string.Empty;
     CurrencyCode             = string.Empty;
     CurrencyName             = string.Empty;
     CurrencySymbol           = string.Empty;
     Denomination             = string.Empty;
     hidAction.Value          = Constants.InsertAction;
     GridViewState.DataSource = null;
     GridViewState.DataBind();
     divStateDetails.Visible = false;
     uplForm.Update();
 }
Пример #10
0
        private void mnuEmployer_Click(object sender, EventArgs e)
        {
            Employer employer = (Employer)bindingEmployers.Current;

            if (sender.Equals(mnuEmployerNew))
            {
                /********************************************************************************
                *   New
                ********************************************************************************/
                if (CanChangeCurrentEmployer())
                {
                    _GridViewState = GridViewState.Adding;
                    bindingEmployers.AddNew();
                    _GridViewState = GridViewState.None;

                    this.txtEmployerName.Focus();
                }
            }
            else if (sender.Equals(mnuEmployerRemove))
            {
                /********************************************************************************
                *   Remove
                ********************************************************************************/
                if (DialogResult.OK == MyMessageBox.Show(this, "Employer", MyDisplayMessage.RemoveConfirm))
                {
                    try
                    {
                        bindingEmployers.RemoveCurrent();
                        bindingEmployers.ResetBindings(false);
                        this.ucFilter.Focus();
                    }
                    catch (MyException ex)
                    {
                        MyMessageBox.Show(this, "Employer", MyDisplayMessage.RemoveError, ex);
                    }
                }
            }
            else if (sender.Equals(mnuEmployerRefresh))
            {
                /********************************************************************************
                *   Refresh
                ********************************************************************************/
                if (!employer.MyState.Equals(MyObjectState.Current))
                {
                    if (DialogResult.Cancel == MyMessageBox.Show(this, "Employer", MyDisplayMessage.RefreshConfirm))
                    {
                        return;
                    }
                }

                try
                {
                    employer.Refresh();
                    bindingEmployers.ResetBindings(false);
                    this.txtEmployerName.Focus();
                    this.txtEmployerName.Select(0, 0);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Employer", MyDisplayMessage.RefreshError, ex);
                }
            }
            else if (sender.Equals(mnuEmployerSave))
            {
                /********************************************************************************
                *   Save
                ********************************************************************************/
                bindingEmployers.EndEdit();
                try
                {
                    employer.Save(true);
                    bindingEmployers.ResetBindings(false);
                    bindingEmployers.Sort = "";

                    if (dgvEmployers.SortOrder == SortOrder.Descending)
                    {
                        bindingEmployers.Sort = dgvEmployers.SortedColumn.DataPropertyName + " DESC";
                    }
                    else
                    {
                        bindingEmployers.Sort = dgvEmployers.SortedColumn.DataPropertyName + " ASC";
                    }

                    ResetDataGridViewEmployer(employer);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Employer", MyDisplayMessage.SaveError, ex);
                }
            }
            else if (sender.Equals(mnuEmployerCancel))
            {
                /********************************************************************************
                *   Cancel
                ********************************************************************************/
                if (employer.MyState == MyObjectState.New)
                {
                    bindingEmployers.RemoveCurrent();
                    if (bindingEmployers.Count > 0)
                    {
                        bindingEmployers.Position = 0;
                        this.txtEmployerName.Focus();
                        this.txtEmployerName.Select(0, 0);
                    }
                    else
                    {
                        this.ucFilter.Focus();
                    }
                }
                else
                {
                    employer.Reset();
                    bindingEmployers.ResetCurrentItem();
                }
            }
        }
Пример #11
0
        private void mnuRestrictedCasePrefixes_Click(object sender, EventArgs e)
        {
            RestrictedCasePrefix restrictedcaseprefix = (RestrictedCasePrefix)bindingRestrictedCasePrefixes.Current;

            /********************************************************************************
            *   New
            ********************************************************************************/
            if (sender.Equals(mnuRestrictedCasePrefixesNew))
            {
                if (CanChangeCurrentRestrictedCasePrefix())
                {
                    _GridViewState = GridViewState.Adding;
                    bindingRestrictedCasePrefixes.AddNew();
                    _GridViewState = GridViewState.None;
                }
            }

            /********************************************************************************
            *   Remove
            ********************************************************************************/
            else if (sender.Equals(mnuRestrictedCasePrefixesRemove))
            {
                if (DialogResult.OK == MyMessageBox.Show(this, "Restricted Case Prefixes", MyDisplayMessage.RemoveConfirm))
                {
                    try
                    {
                        bindingRestrictedCasePrefixes.RemoveCurrent();
                        bindingRestrictedCasePrefixes.ResetBindings(false);
                    }
                    catch (MyException ex)
                    {
                        MyMessageBox.Show(this, "Restricted Case Prefixes", MyDisplayMessage.RemoveError, ex);
                    }
                }
            }

            /********************************************************************************
            *   Refresh
            ********************************************************************************/
            else if (sender.Equals(mnuRestrictedCasePrefixesRefresh))
            {
                if (!restrictedcaseprefix.MyState.Equals(MyObjectState.Current))
                {
                    if (DialogResult.Cancel == MyMessageBox.Show(this, "Restricted Case Prefixes", MyDisplayMessage.RefreshConfirm))
                    {
                        return;
                    }
                }

                try
                {
                    restrictedcaseprefix.Refresh();
                    bindingRestrictedCasePrefixes.ResetBindings(false);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Restricted Case Prefixes", MyDisplayMessage.RefreshError, ex);
                }
            }

            /********************************************************************************
            *   Save
            ********************************************************************************/
            else if (sender.Equals(mnuRestrictedCasePrefixesSave))
            {
                dgvRestrictedCasePrefixes.EndEdit();
                bindingRestrictedCasePrefixes.EndEdit();
                try
                {
                    restrictedcaseprefix.Save(true);
                    bindingRestrictedCasePrefixes.ResetBindings(false);


                    bindingRestrictedCasePrefixes.Sort = "";
                    if (dgvRestrictedCasePrefixes.SortOrder == SortOrder.Descending)
                    {
                        bindingRestrictedCasePrefixes.Sort = dgvRestrictedCasePrefixes.SortedColumn.DataPropertyName + " DESC";
                    }
                    else
                    {
                        bindingRestrictedCasePrefixes.Sort = dgvRestrictedCasePrefixes.SortedColumn.DataPropertyName + " ASC";
                    }

                    ResetDataGridViewRestrictedCasePrefixes(restrictedcaseprefix);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Restricted Case Prefixes", MyDisplayMessage.SaveError, ex);
                }
            }

            /********************************************************************************
            *   Cancel
            ********************************************************************************/
            else if (sender.Equals(mnuRestrictedCasePrefixesCancel))
            {
                if (restrictedcaseprefix.MyState == MyObjectState.New)
                {
                    bindingRestrictedCasePrefixes.RemoveCurrent();
                }
                else
                {
                    restrictedcaseprefix.Reset();
                    bindingRestrictedCasePrefixes.ResetCurrentItem();
                }
            }
        }
        private void mnuPaymentArrangementType_Click(object sender, EventArgs e)
        {
            PaymentArrangementType paymentarrangementtype = (PaymentArrangementType)bindingPaymentArrangementTypes.Current;

            /********************************************************************************
            *   New
            ********************************************************************************/
            if (sender.Equals(mnuPaymentArrangementTypeNew))
            {
                if (CanChangeCurrentPaymentArrangementType())
                {
                    _GridViewState = GridViewState.Adding;
                    bindingPaymentArrangementTypes.AddNew();
                    _GridViewState = GridViewState.None;
                }
            }

            /********************************************************************************
            *   Remove
            ********************************************************************************/
            else if (sender.Equals(mnuPaymentArrangementTypeRemove))
            {
                if (DialogResult.OK == MyMessageBox.Show(this, "Payment Arrangement Type", MyDisplayMessage.RemoveConfirm))
                {
                    try
                    {
                        bindingPaymentArrangementTypes.RemoveCurrent();
                        bindingPaymentArrangementTypes.ResetBindings(false);
                    }
                    catch (MyException ex)
                    {
                        MyMessageBox.Show(this, "Payment Arrangement Type", MyDisplayMessage.RemoveError, ex);
                    }
                }
            }

            /********************************************************************************
            *   Refresh
            ********************************************************************************/
            else if (sender.Equals(mnuPaymentArrangementTypeRefresh))
            {
                if (!paymentarrangementtype.MyState.Equals(MyObjectState.Current))
                {
                    if (DialogResult.Cancel == MyMessageBox.Show(this, "Payment Arrangement Type", MyDisplayMessage.RefreshConfirm))
                    {
                        return;
                    }
                }

                try
                {
                    paymentarrangementtype.Refresh();
                    bindingPaymentArrangementTypes.ResetBindings(false);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Payment Arrangement Type", MyDisplayMessage.RefreshError, ex);
                }
            }

            /********************************************************************************
            *   Save
            ********************************************************************************/
            else if (sender.Equals(mnuPaymentArrangementTypeSave))
            {
                dgvPaymentArrangementTypes.EndEdit();
                bindingPaymentArrangementTypes.EndEdit();
                try
                {
                    paymentarrangementtype.Save(true);
                    bindingPaymentArrangementTypes.ResetBindings(false);


                    bindingPaymentArrangementTypes.Sort = "";
                    if (dgvPaymentArrangementTypes.SortOrder == SortOrder.Descending)
                    {
                        bindingPaymentArrangementTypes.Sort = dgvPaymentArrangementTypes.SortedColumn.DataPropertyName + " DESC";
                    }
                    else
                    {
                        bindingPaymentArrangementTypes.Sort = dgvPaymentArrangementTypes.SortedColumn.DataPropertyName + " ASC";
                    }

                    ResetDataGridViewPaymentArrangementType(paymentarrangementtype);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Payment Arrangement Type", MyDisplayMessage.SaveError, ex);
                }
            }

            /********************************************************************************
            *   Cancel
            ********************************************************************************/
            else if (sender.Equals(mnuPaymentArrangementTypeCancel))
            {
                if (paymentarrangementtype.MyState == MyObjectState.New)
                {
                    bindingPaymentArrangementTypes.RemoveCurrent();
                }
                else
                {
                    paymentarrangementtype.Reset();
                    bindingPaymentArrangementTypes.ResetCurrentItem();
                }
            }
        }
Пример #13
0
        private void mnuFeeType_Click(object sender, EventArgs e)
        {
            FeeType feetype = (FeeType)bindingFeeTypes.Current;

            if (sender.Equals(mnuFeeTypeNew))
            {
                /********************************************************************************
                *   New
                ********************************************************************************/
                if (CanChangeCurrentFeeType())
                {
                    _GridViewState = GridViewState.Adding;
                    bindingFeeTypes.AddNew();
                    _GridViewState = GridViewState.None;
                }
            }
            else if (sender.Equals(mnuFeeTypeRemove))
            {
                /********************************************************************************
                *   Remove
                ********************************************************************************/
                if (DialogResult.OK == MyMessageBox.Show(this, "Fee Type", MyDisplayMessage.RemoveConfirm))
                {
                    try
                    {
                        bindingFeeTypes.RemoveCurrent();
                        bindingFeeTypes.ResetBindings(false);
                    }
                    catch (MyException ex)
                    {
                        MyMessageBox.Show(this, "Fee Type", MyDisplayMessage.RemoveError, ex);
                    }
                }
            }
            else if (sender.Equals(mnuFeeTypeRefresh))
            {
                /********************************************************************************
                *   Refresh
                ********************************************************************************/
                if (!feetype.MyState.Equals(MyObjectState.Current))
                {
                    if (DialogResult.Cancel == MyMessageBox.Show(this, "Fee Type", MyDisplayMessage.RefreshConfirm))
                    {
                        return;
                    }
                }

                try
                {
                    feetype.Refresh();
                    bindingFeeTypes.ResetBindings(false);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Fee Type", MyDisplayMessage.RefreshError, ex);
                }
            }
            else if (sender.Equals(mnuFeeTypeSave))
            {
                /********************************************************************************
                *   Save
                ********************************************************************************/
                dgvFeeTypes.EndEdit();
                bindingFeeTypes.EndEdit();
                try
                {
                    feetype.Save(true);
                    bindingFeeTypes.ResetBindings(false);

                    /*
                     *
                     *
                     * will need to come up with better sorting when this form is updated.
                     *
                     *
                     *
                     *
                     */
                    bindingFeeTypes.Sort = "";
                    if (dgvFeeTypes.SortOrder == SortOrder.Descending)
                    {
                        bindingFeeTypes.Sort = dgvFeeTypes.SortedColumn.DataPropertyName + " DESC";
                    }
                    else
                    {
                        bindingFeeTypes.Sort = dgvFeeTypes.SortedColumn.DataPropertyName + " ASC";
                    }

                    ResetDataGridViewFeeType(feetype);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Fee Type", MyDisplayMessage.SaveError, ex);
                }
            }
            else if (sender.Equals(mnuFeeTypeCancel))
            {
                /********************************************************************************
                *   Cancel
                ********************************************************************************/
                if (feetype.MyState == MyObjectState.New)
                {
                    bindingFeeTypes.RemoveCurrent();
                }
                else
                {
                    feetype.Reset();
                    bindingFeeTypes.ResetCurrentItem();
                }
            }
        }
Пример #14
0
        private void mnuDefendant_Click(object sender, EventArgs e)
        {
            Defendant defendant = (Defendant)bindingDefendants.Current;

            /********************************************************************************
            *   New
            ********************************************************************************/
            if (sender.Equals(mnuDefendantNew))
            {
                if (CanChangeCurrentDefendant())
                {
                    this.SuspendLayout();

                    if (ucFilter.FilterValue.Length > 0)
                    {
                        bindingDefendants.Filter = "";
                        ucFilter.FilterValue     = "";
                    }

                    _GridViewState = GridViewState.Adding;
                    bindingDefendants.AddNew();
                    _GridViewState = GridViewState.None;

                    bindingDefendants.ResetCurrentItem();

                    this.ResumeLayout(false);

                    ucDefendant.Focus();
                }
            }

            /********************************************************************************
             *   Remove
             *********************************************************************************
             * else if( sender.Equals( mnuDefendantRemove ) )
             * {
             *  if( DialogResult.OK == MyMessageBox.Show( this, "Defendant", MyDisplayMessage.RemoveConfirm ) )
             *  {
             *      this.SuspendLayout();
             *
             *      try
             *      {
             *          bindingDefendants.RemoveCurrent();
             *          bindingDefendants.ResetBindings( false );
             *          this.ucFilter.Focus();
             *      }
             *      catch( MyException ex )
             *      {
             *          MyMessageBox.Show( this, "Defendant", MyDisplayMessage.RemoveError, ex );
             *      }
             *
             *      bindingDefendants.ResetCurrentItem();
             *
             *      this.ResumeLayout( false );
             *  }
             *
             * }*/
            /********************************************************************************
            *   Refresh
            ********************************************************************************/
            else if (sender.Equals(mnuDefendantRefresh))
            {
                if (!defendant.MyState.Equals(MyObjectState.Current))
                {
                    if (DialogResult.Cancel == MyMessageBox.Show(this, "Defendant", MyDisplayMessage.RefreshConfirm))
                    {
                        return;
                    }
                }

                this.Cursor = Cursors.WaitCursor;
                this.SuspendLayout();
                ucDefendant.SuspendLayout();

                try
                {
                    defendant.Refresh();
                    bindingDefendants.ResetBindings(false);
                    ucDefendant.Update();
                    ucDefendant.Focus();
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Defendant", MyDisplayMessage.RefreshError, ex);
                }

                ucDefendant.ResumeLayout(false);
                this.ResumeLayout(false);
                this.Cursor = Cursors.Default;
            }

            /********************************************************************************
            *   Save
            ********************************************************************************/
            else if (sender.Equals(mnuDefendantSave))
            {
                ucDefendant.Select();
                bindingDefendants.EndEdit();

                this.Cursor = Cursors.WaitCursor;
                this.SuspendLayout();

                try
                {
                    defendant.Save(true);
                    bindingDefendants.Sort = "";

                    // setting sort
                    string strSort      = string.Empty;
                    string strSortOrder = (dgvDefendants.SortOrder == SortOrder.Descending) ? "DESC" : "ASC";
                    if (dgvDefendants.SortedColumn.DataPropertyName.ToLower() == "lastname")
                    {
                        strSort = "LastName " + strSortOrder + ", FirstName " + strSortOrder;
                    }
                    else
                    {
                        strSort = "FirstName " + strSortOrder + ", LastName " + strSortOrder;
                    }
                    bindingDefendants.Sort = strSort;

                    ResetDataGridViewDefendant(defendant);
                }
                catch (MyException ex)
                {
                    MyMessageBox.Show(this, "Defendant", MyDisplayMessage.SaveError, ex);
                }
                catch (ArgumentOutOfRangeException)
                {
                    MyMessageBox.Show(this, "Payment Arrangement", MyDisplayMessage.PaymentArrangementOverlapping);
                }

                this.ResumeLayout(false);
                this.Cursor = Cursors.Default;
            }

            /********************************************************************************
            *   Cancel
            ********************************************************************************/
            else if (sender.Equals(mnuDefendantCancel))
            {
                this.SuspendLayout();
                if (defendant.MyState == MyObjectState.New)
                {
                    bindingDefendants.RemoveCurrent();
                    if (bindingDefendants.Count > 0)
                    {
                        bindingDefendants.Position = 0;
                        ucDefendant.Focus();
                    }
                    else
                    {
                        this.ucFilter.Focus();
                    }
                }
                else
                {
                    defendant.Reset();
                    bindingDefendants.ResetCurrentItem();
                }
                this.ResumeLayout(false);
            }

            /********************************************************************************
            *   Notes
            ********************************************************************************/
            else if (sender.Equals(mnuDefendantNotes))
            {
                if (frmNotes == null)
                {
                    frmNotes = new frmNotes();

                    frmNotes.DataBindings.Add("Notes", bindingDefendants, "Notes", true, DataSourceUpdateMode.OnPropertyChanged);
                    frmNotes.FormClosed += new FormClosedEventHandler(frmNotes_FormClosed);
                }

                if (!frmNotes.Visible)
                {
                    frmNotes.Show(this);
                }
                else
                {
                    frmNotes.Focus();
                }
            }

            /********************************************************************************
            *   Mail Merge
            ********************************************************************************/
            else if (sender.Equals(mnuDefendantMailMerge))
            {
                if (!MailMerge.StoreDirectoryConfigured() && !MailMerge.StoreDirectoryExists())
                {
                    MyMessageBox.Show(this, "MS Word Mail Merge", MyDisplayMessage.MailMergeDirectoryError);
                    return;
                }

                frmMailMergeTemplates frm = new frmMailMergeTemplates();
                if (DialogResult.Cancel == frm.ShowDialog(this) || string.IsNullOrEmpty(frm.SelectedMailMergeTemplatePath))
                {
                    return;
                }


                this.Cursor = Cursors.WaitCursor;

                int    defendantid  = ((Defendant)bindingDefendants.Current).ID;
                int    planid       = ucPlans.PlanId;
                string templatePath = frm.SelectedMailMergeTemplatePath;

                try
                {
                    MailMerge.PerformMailMerge(defendantid, planid, templatePath);
                }
                catch (Exception ex)
                {
                    MyMessageBox.Show(this, "Mail Merge", MyDisplayMessage.MailMergeDocumentMergeError, new MyException(ex.Message.ToString(), MyErrorType.MailMergeError, ex));
                }

                this.Cursor = Cursors.Default;
            }

            /********************************************************************************
            *   Make Payment
            ********************************************************************************/
            else if (sender.Equals(mnuDefendantPayment))
            {
                BindingSource bindingPayments = new BindingSource(new BindingSource(bindingDefendants, "Plans"), "Payments");

                frmPayment frm = new frmPayment(ref bindingPayments);

                if (!frm.IsDisposed)
                {
                    frm.ShowDialog(this);
                    bindingDefendants.ResetCurrentItem();
                }
            }

            /********************************************************************************
            *   Remove/Archive - doesn't delete from the database
            ********************************************************************************/
            else if (sender.Equals(mnuDefendantRemove))
            {
                if (DialogResult.OK == MyMessageBox.Show(this, "Remove Defendant", MyDisplayMessage.Archive))
                {
                    this.SuspendLayout();

                    defendant.Reset();

                    defendant.RaiseChangedEvents = false;
                    defendant.Active             = false;
                    defendant.Save(true);

                    // set state to new to fake out the collection into removing it but not removing it from the db.
                    //defendant.MyState = MyObjectState.New;
                    defendant.RaiseChangedEvents = true;

                    try
                    {
                        bindingDefendants.Remove(defendant);
                        bindingDefendants.ResetBindings(true);
                        this.ucFilter.Focus();
                    }
                    catch (MyException ex)
                    {
                        MyMessageBox.Show(this, "Defendant", MyDisplayMessage.RemoveError, ex);
                    }

                    this.ResumeLayout();
                }
            }
        }