Example #1
0
        private void txtDownPayment_Leave(object sender, EventArgs e)
        {
            decimal downPayment = LayawayPaymentCalculator.DownPayment;

            if (!decimal.TryParse(txtDownPayment.Text, out downPayment))
            {
                MessageBox.Show("Invalid down payment amount.");
                HighlightControl(txtDownPayment);
                RevertToPreviousDownPayment();
                txtDownPayment.Focus();
                txtDownPayment.SelectAll();
                return;
            }

            if (downPayment < 0 || downPayment >= MaximumDownPayment)
            {
                MessageBox.Show(string.Format("Down Payment cannot be negative and must be less than {0:c}.", MaximumDownPayment));
                HighlightControl(txtDownPayment);
                RevertToPreviousDownPayment();
                txtDownPayment.Focus();
                txtDownPayment.SelectAll();
                return;
            }

            if (!LayawayPaymentCalculator.CanDistributeIfDownpaymentSetTo(downPayment))
            {
                MessageBox.Show(string.Format("This is an invalid value because it will not distribute accross {0} payments.", LayawayPaymentCalculator.NumberOfPayments));
                HighlightControl(txtDownPayment);
                RevertToPreviousDownPayment();
                txtDownPayment.Focus();
                txtDownPayment.SelectAll();
                return;
            }

            if (LayawayPaymentCalculator.DownPayment == downPayment)
            {
                return;
            }
            LayawayPaymentCalculator.DownPayment = downPayment;
            UpdateCalculatedValues();
        }