static void Main(string[] args) { string conceptoPedido = ""; decimal importePedido = 0M; int tipoPago = 0; string ctipoPago = ""; ITipoPagoFactory objTipoPagoFactory = null; IProcesarPedido Pedidos = null; Console.WriteLine("Ingresa el concepto del pedido"); conceptoPedido = Console.ReadLine(); Console.WriteLine("Ingresa el importe del pedido"); importePedido = Convert.ToDecimal(Console.ReadLine()); Console.WriteLine("Tipo de Pago.\n1) Efectivo \n2) Tarjeta"); tipoPago = Convert.ToInt32(Console.ReadLine()); switch (tipoPago) { case 1: objTipoPagoFactory = new GeneradorEfectivo(); ctipoPago = "efectivo"; break; case 2: objTipoPagoFactory = new GeneradorTarjeta(); ctipoPago = "tarjeta"; break; } Pedidos = new ProcesadorPedido(objTipoPagoFactory, conceptoPedido, importePedido, ctipoPago); Pedidos.Procesar(); }
static void Main(string[] args) { IFabrica fabrica; string cConcepto = ""; string cImporte = ""; string cModalidad = ""; double dImporte = 0; string cRespuesta = ""; Console.WriteLine("Concepto del pedido"); cConcepto = Console.ReadLine(); Console.WriteLine("Importe del pedido"); cImporte = Console.ReadLine(); Console.WriteLine("Modalidad del pedido"); cModalidad = Console.ReadLine(); cModalidad = cModalidad.ToUpper(); dImporte = double.Parse(cImporte); switch (cModalidad) { case "EFECTIVO": fabrica = new GeneradorEfectivo(); break; case "TARJETA": fabrica = new GeneradorTarjeta(); break; default: throw new Exception("Concepto Erroneo"); } IProcesarPedido procesador = new ProcesadorPedido(fabrica); cRespuesta = procesador.procesar(cConcepto, dImporte); Console.WriteLine(cRespuesta); }