public void Run() { var products = new List <ProductDTO> { new ProductDTO { Code = "A", RetailPrice = 1.25m, VolumePrice = 3m, VolumeQuantity = 3 }, new ProductDTO { Code = "B", RetailPrice = 4.25m }, new ProductDTO { Code = "C", RetailPrice = 1m, VolumePrice = 5m, VolumeQuantity = 6 }, new ProductDTO { Code = "D", RetailPrice = 0.75m } }; terminal.SetPricing(products); terminal.Scan("A"); terminal.Scan("B"); terminal.Scan("C"); terminal.Scan("D"); terminal.Scan("A"); terminal.Scan("B"); terminal.Scan("A"); Console.WriteLine($"ABCDABA = 13.25? Result: {terminal.CalculateTotal()}"); Console.ReadLine(); }
private static void SetDefaultPrices(IPointOfSaleTerminal terminal) { terminal.SetPricing("A", 1.25m); terminal.SetPricing("A", 3, 3m); terminal.SetPricing("B", 4.25m); terminal.SetPricing("C", 1m); terminal.SetPricing("C", 6, 5m); terminal.SetPricing("D", 0.75m); }
private static void Init() { var productA = new ProductA(); var productB = new ProductB(); var productC = new ProductC(); var productD = new ProductD(); List <Product> products = new List <Product> { productA, productB, productC, productD }; PointOfSale = new POS(products); Terminal = new Terminal(PointOfSale); Utils.DoSafe(() => { Terminal.SetPricing(productA.Code, (decimal)1.25d); }); Utils.DoSafe(() => { Terminal.SetPricing(productA.Code, (decimal)3.00d, 3); }); Utils.DoSafe(() => { Terminal.SetPricing(productB.Code, (decimal)4.25d); }); Utils.DoSafe(() => { Terminal.SetPricing(productC.Code, (decimal)1.00d); }); Utils.DoSafe(() => { Terminal.SetPricing(productC.Code, (decimal)5.00d, 6); }); Utils.DoSafe(() => { Terminal.SetPricing(productD.Code, (decimal)0.75d); }); }