Example #1
0
        private void UpdateCalculatedValues()
        {
            LayawayPaymentCalculator.ReCalculate();

            txtNumberOfPayments.Text = LayawayPaymentCalculator.NumberOfPayments.ToString();
            txtDownPayment.Text      = LayawayPaymentCalculator.DownPayment.ToString("f2");
            dateFirstPaymentDate.SetSelectedDate(LayawayPaymentCalculator.FirstPaymentDate);
            dateFirstPaymentDate.Refresh();
            txtServiceFee.Text           = LayawayPaymentCalculator.ServiceFeeTotal.ToString("c");
            txtMonthlyPaymentAmount.Text = LayawayPaymentCalculator.MonthlyPaymentAmount.ToString("c");

            lblPayment01.Text = LayawayPaymentCalculator.Payments[0].BuildPaymentStatement();
            lblPayment02.Text = LayawayPaymentCalculator.Payments[1].BuildPaymentStatement();
            lblPayment03.Text = LayawayPaymentCalculator.Payments[2].BuildPaymentStatement();
            lblPayment04.Text = LayawayPaymentCalculator.Payments[3].BuildPaymentStatement();
            lblPayment05.Text = LayawayPaymentCalculator.Payments[4].BuildPaymentStatement();
            lblPayment06.Text = LayawayPaymentCalculator.Payments[5].BuildPaymentStatement();
            lblPayment07.Text = LayawayPaymentCalculator.Payments[6].BuildPaymentStatement();
            lblPayment08.Text = LayawayPaymentCalculator.Payments[7].BuildPaymentStatement();
            lblPayment09.Text = LayawayPaymentCalculator.Payments[8].BuildPaymentStatement();
            lblPayment10.Text = LayawayPaymentCalculator.Payments[9].BuildPaymentStatement();
            lblPayment11.Text = LayawayPaymentCalculator.Payments[10].BuildPaymentStatement();
            lblPayment12.Text = LayawayPaymentCalculator.Payments[11].BuildPaymentStatement();

            continueButton.Enabled = true;
            Refresh();
        }
Example #2
0
        private void txtNumberOfPayments_Leave(object sender, EventArgs e)
        {
            int numberOfPayments = 0;

            if (!int.TryParse(txtNumberOfPayments.Text, out numberOfPayments) || numberOfPayments <= 0)
            {
                MessageBox.Show("Invalid number of payments.");
                HighlightControl(txtNumberOfPayments);
                RevertToPreviousNumberOfPayments();
                txtNumberOfPayments.Focus();
                txtNumberOfPayments.SelectAll();
                return;
            }

            if (LayawayPaymentCalculator.NumberOfPayments == numberOfPayments)
            {
                return;
            }

            int maxNumberOfPayments = new BusinessRulesProcedures(GlobalDataAccessor.Instance.DesktopSession).GetMaxLayawayNumberOfPayments(CDS.CurrentSiteId);

            if (numberOfPayments > maxNumberOfPayments)
            {
                MessageBox.Show(string.Format("Maximum number of payments is {0}", maxNumberOfPayments));
                HighlightControl(txtNumberOfPayments);
                RevertToPreviousNumberOfPayments();
                txtNumberOfPayments.Focus();
                txtNumberOfPayments.SelectAll();
                return;
            }

            if (!LayawayPaymentCalculator.CanDistributeIfNumberOfPaymentsSetTo(numberOfPayments))
            {
                MessageBox.Show(string.Format("This is an invalid value because the layaway amount cannot distribute accross {0} payments.", numberOfPayments));
                HighlightControl(txtNumberOfPayments);
                RevertToPreviousNumberOfPayments();
                txtNumberOfPayments.Focus();
                txtNumberOfPayments.SelectAll();
                return;
            }

            LayawayPaymentCalculator.NumberOfPayments = numberOfPayments;
            UpdateCalculatedValues();
        }
Example #3
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();
        }