Beispiel #1
0
        private OrderPaymentStatus EvaluatePaymentStatus(Order o, OrderPaymentSummary s)
        {
            OrderPaymentStatus result = OrderPaymentStatus.Unknown;

            if (s.AmountDue < 0)
            {
                // Refund Due = Overpaid
                result = OrderPaymentStatus.Overpaid;
            }
            else
            {
                if (s.AmountDue == 0)
                {
                    result = OrderPaymentStatus.Paid;
                }
                else
                {
                    // Amount Due = positive at this point
                    if (s.TotalCredit > 0)
                    {
                        result = OrderPaymentStatus.PartiallyPaid;
                    }
                    else
                    {
                        result = OrderPaymentStatus.Unpaid;
                    }
                }
            }

            o.PaymentStatus = result;
            return(result);
        }
Beispiel #2
0
        public OrderPaymentSummary PaymentSummary(Order o)
        {
            OrderPaymentSummary result = new OrderPaymentSummary();

            result.Populate(o, this);
            o.PaymentStatus = EvaluatePaymentStatus(o, result);
            return(result);
        }
Beispiel #3
0
        public OrderPaymentStatus EvaluatePaymentStatus(Order o)
        {
            OrderPaymentSummary s = new OrderPaymentSummary();

            s.Populate(o, this);
            OrderPaymentStatus result = EvaluatePaymentStatus(o, s);

            s = null;
            return(result);
        }
Beispiel #4
0
        private OrderPaymentStatus EvaluatePaymentStatus(Order o, OrderPaymentSummary s)
        {
            OrderPaymentStatus result = OrderPaymentStatus.Unknown;

            if (s.AmountDue < 0)
            {
                // Refund Due = Overpaid
                result = OrderPaymentStatus.Overpaid;
            }
            else
            {
                if (s.AmountDue == 0)
                {
                    result = OrderPaymentStatus.Paid;
                }
                else
                {
                    // Amount Due = positive at this point
                    if (s.TotalCredit > 0)
                    {
                        result = OrderPaymentStatus.PartiallyPaid;
                    }
                    else
                    {
                        result = OrderPaymentStatus.Unpaid;
                    }
                }
            }

            o.PaymentStatus = result;
            return result;
        }
Beispiel #5
0
 public OrderPaymentStatus EvaluatePaymentStatus(Order o)
 {
     OrderPaymentSummary s = new OrderPaymentSummary();
     s.Populate(o, this);
     OrderPaymentStatus result = EvaluatePaymentStatus(o, s);
     s = null;
     return result;
 }
Beispiel #6
0
 public OrderPaymentSummary PaymentSummary(Order o)
 {
     OrderPaymentSummary result = new OrderPaymentSummary();
     result.Populate(o, this);
     o.PaymentStatus = EvaluatePaymentStatus(o, result);
     return result;
 }