示例#1
0
        public void Submit(Product product, string cardNumber, DateTime cardExpiryDate)
        {
            // Check product stock
            if (!_productStockRepository.IsInStock(product))
            {
                throw new Exception($"{product} is currently not in stock");
            }

            // Payment
            _paymentProcessor.ChargeCreditCard(cardNumber, cardExpiryDate);

            // Ship the product
            _shippingProcessor.MailProduct(product);
        }
示例#2
0
        public void Submit(Product product, string creditCardNumber, string expireDate)
        {
            //Product Stock
            if (!_productStockRepository.IsInStock(product))
            {
                throw new Exception($"{product.ToString()} current not in stock");
            }

            //Payment
            _paymentProcessor.ChargeCreditCard(creditCardNumber, expireDate);

            //Ship the Product
            _shippingProcessor.MailProduct(product);
        }
        public void Submit(Product product, string creditCardNumber, string expiryDate)
        {
            // check product stock
            if (!_productStockRepository.IsInStock(product))
            {
                throw new Exception($"{product} is not in stock");
            }

            // payment
            _paymentService.ChargeCreditCard(creditCardNumber, expiryDate);

            //ship the product
            _shippingService.MailProduct(product);
        }
示例#4
0
        public void Submit(Product product, string creditCardNumber, string expiryDate)
        {
            // Check product stock
            if (!_productStockRepository.IsInStock(product))
            {
                throw new Exception($"{product} currently not in stock");
            }
            Console.WriteLine("Product in stock, Processing payment now");

            // Payment
            _paymentProcessor.ChargeCreditCard(creditCardNumber, expiryDate);
            Console.WriteLine("Payment verifies, Processing shipment now");

            // Ship the product
            _shippingProcessor.MailProduct(product);
            Console.WriteLine($"{product} is shipped");
        }