public static Product Create(ProductEnum productType) { Debug.Log("SimpleFactory:Create(), productType = " + productType.ToString()); switch (productType) { case ProductEnum.A: return(new ConcreateProductA()); case ProductEnum.B: return(new ConcreateProductB()); } return(null); }
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); }
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); }
public static string ToReadableString(this ProductEnum product) { switch (product) { case ProductEnum.Bus: return("Bus"); case ProductEnum.Ferry: return("Ferry"); case ProductEnum.Car: return("Car"); case ProductEnum.Tour: return("Tour"); case ProductEnum.Train: return("Train"); case ProductEnum.TrainPass: return("Train Pass"); case ProductEnum.TourCoachPackage: return("Tour Coach Package"); case ProductEnum.Charter: return("Charter"); case ProductEnum.BusDayPass: return("Bus Day Pass"); case ProductEnum.TPM: return("Trip Package"); default: return(product.ToString()); } }
public static string ToLowerString(this ProductEnum product) { return(product.ToString().ToLower()); }