private bool CheckData() { float dblPaymentAmount = 0; float dblTotalSplit = 0; float dblTotalBalance = 0; float dblSplitPayments = 0; float dblTemp; if (float.TryParse(txtAmount.Text.Trim().Replace("$", ""), out dblPaymentAmount)) { } // adding total splits foreach (DataRow dr in _dtFeePayments.Rows) { if (float.TryParse(dr["apply"].ToString(), out dblTemp)) { dblTotalSplit += dblTemp; } } // do the splits equal the total if (dblTotalSplit != dblPaymentAmount) { MessageBox.Show(this, "Payment amount does not equal sum of splits.", "Payment Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } string strError = ""; string strReportToCountyClerk = ""; string strOtherCounty = ""; LocalUser usr = new LocalUser(); foreach (Plan plan in ((Defendant)((BindingSource)((BindingSource)bindingPayments.DataSource).DataSource).Current).Plans) { dblTotalBalance = 0; dblSplitPayments = 0; DataRow[] drs = _dtFeePayments.Select("planid = " + plan.ID); // calculating remaining balance foreach (DataRow dr in drs) { if (float.TryParse(dr["remaining"].ToString(), out dblTemp)) { dblTotalBalance += dblTemp; } if (float.TryParse(dr["apply"].ToString(), out dblTemp)) { dblSplitPayments += dblTemp; } } // has the defendant paid more than owed. if ((dblTotalBalance - dblSplitPayments) < 0) { strError += plan.PlanName + ": Payment made is greater than what the defendant owes.\n"; } // is this the last payment made. if (string.IsNullOrEmpty(strError) && (dblTotalBalance - dblSplitPayments) == 0) { strReportToCountyClerk += plan.PlanName + "\n"; } // is a payment being posted to a plan with cases in other counties if (dblSplitPayments > 0) { var lnq = from cs in plan.Cases where cs.CountyId != usr.HomeCountyId select cs; if (lnq.Count() > 0) { strOtherCounty += plan.PlanName + "\n"; } } } if (!string.IsNullOrEmpty(strError)) { MessageBox.Show(this, strError, "Payment Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } else { string msg = ""; // is this the last payment made. if (!string.IsNullOrEmpty(strReportToCountyClerk)) { msg += "Report to Clerk Needed:\n\n " + strReportToCountyClerk; } // is this payment out of county. if (!string.IsNullOrEmpty(strOtherCounty)) { msg += (msg.Length > 0) ? "\n" : ""; msg += "A payment is being made to a plan or plans with at least one case in another county:\n\n " + strOtherCounty; } if (!string.IsNullOrEmpty(msg)) { this.Hide(); MessageBox.Show(this, msg, "Reminder", MessageBoxButtons.OK, MessageBoxIcon.Information); } } return(true); }