Exemplo n.º 1
0
 public void Checkout(ShoppingCart shoppingCart, PaymentDetails paymentDetails, bool notifyCustomer)
 {
     if (paymentDetails.PaymentMethod == PaymentMethod.CreditCard)
     {
         //Placing a due amount on Credit Card so that user can pay the money at the end
         ChargeCard(paymentDetails, shoppingCart);
     }
     //Reserving the estimated cost for Inventory (Inventory is a comlete list of Items)
     ReserveInventory(shoppingCart);
     if (notifyCustomer)
     {
         NotifyCustomer(shoppingCart);
     }
 }
Exemplo n.º 2
0
        public void ChargeCard(PaymentDetails paymentDetails, ShoppingCart cart)
        {
            PaymentService paymentService = new PaymentService();

            try
            {
                paymentService.Credentials    = "Credentials";
                paymentService.CardNumber     = paymentDetails.CreditCardNumber;
                paymentService.ExpiryDate     = paymentDetails.ExpiryDate;
                paymentService.NameOnCard     = paymentDetails.CardholderName;
                paymentService.AmountToCharge = cart.TotalAmount;
                paymentService.Charge();
            }
            catch (AccountBalanceMismatchException ex)
            {
                throw new OrderException("The card gateway rejected the card based on the address provided.", ex);
            }
            catch (Exception ex)
            {
                throw new OrderException("There was a problem with your card.", ex);
            }
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            OrderItem objItem1 = new OrderItem {
                Identifier = "Toy", Quantity = 2
            };
            OrderItem objItem2 = new OrderItem {
                Identifier = "Utensils", Quantity = 1
            };
            List <OrderItem> items = new List <OrderItem>();

            items.Add(objItem1);
            items.Add(objItem2);
            ShoppingCart objCart = new ShoppingCart();

            objCart.CustomerEmail = "*****@*****.**";
            objCart.Items         = items;
            PaymentDetails objDetails = new PaymentDetails();

            objDetails.PaymentMethod = PaymentMethod.CreditCard;
            Order objOrder = new Order();

            objOrder.Checkout(objCart, objDetails, true);
        }