コード例 #1
0
        public void Submit(ProductEnum productEnum, string CreditCardNumber, string expiryDate)
        {
            // Step-1 => check product stock
            if (!_productStockRepository.IsInStock(productEnum))
            {
                throw new Exception($"{productEnum.ToString()} not in stock");
            }


            // Step-2 => payment

            _paymentProcessor.ChargeCreditCard(CreditCardNumber, expiryDate);


            //Step-3 => shiping the product

            _shippingProcessor.MailProduct(productEnum);
        }