public void MailProduct(ProductEnum productEnum) { var productStockRepository = new ProductStockRepository_WithoutDI(); productStockRepository.ReduceStock(productEnum); Console.WriteLine("call to shipping api"); }
public void Submit(ProductEnum productEnum, string CreditCardNumber, string expiryDate) { // Step-1 => check product stock var productStockRepositry = new ProductStockRepository_WithoutDI(); if (!productStockRepositry.IsInStock(productEnum)) { throw new Exception($"{productEnum.ToString()} not in stock"); } // Step-2 => payment var creaditCardProcessor = new PaymentProcessor_WithoutDI(); creaditCardProcessor.ChargeCreditCard(CreditCardNumber, expiryDate); //Step-3 => shiping the product var shippingProcessor = new ShippingProcessor_WithoutDI(); shippingProcessor.MailProduct(productEnum); }