Ejemplo n.º 1
0
 public ProcesadorPedido(ITipoPagoFactory tipoPagoFactory, string conceptoPedido, decimal dImportePedido, string ctipoPago)
 {
     this.tipoPagoFactory = tipoPagoFactory;
     this.conceptoPedido  = conceptoPedido;
     this.dImportePedido  = dImportePedido;
     this.ctipoPago       = ctipoPago;
 }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            ITipoPagoFactory  svrTipoPagoFactory = null;
            ITipoPago         svrTipoPago;
            IProcesadorPedido svrProcesadorPago;
            IGeneradorMensaje svrGeneradorMensaje;

            int    iOpcion = 0;
            string cRespuesta = string.Empty, cConcepto = string.Empty, cModalidad = string.Empty;
            double dImporte         = 0;
            double dImporteComparar = 5000;

            Console.WriteLine("**** Sistema de pedidos *****");
            Console.WriteLine("Proporcione el concepto");
            cConcepto = Console.ReadLine();

            Console.WriteLine("Proporcione el importe");
            double.TryParse(Console.ReadLine(), out dImporte);

            Console.WriteLine("Proporcione el Tipo de Pago:");
            Console.WriteLine("Pago Efectivo: 1");
            Console.WriteLine("Pago Crédito: 2");

            int.TryParse(Console.ReadLine(), out iOpcion);

            switch (iOpcion)
            {
            case 1:
                svrTipoPagoFactory = new TipoPagoEfectivoFactory();
                cModalidad         = "EFECTVO";
                break;

            case 2:
                svrTipoPagoFactory = new TipoPagoCreditoFactory();
                cModalidad         = "CRÉDITO";
                break;

            default:
                Console.WriteLine("Indique un Tipo de Pago correcto");
                break;
            }

            if (svrTipoPagoFactory != null)
            {
                svrTipoPago         = svrTipoPagoFactory.ObtenerIntanciaPago();
                svrGeneradorMensaje = new GeneradorMensaje();
                svrProcesadorPago   = new ProcesadorPedido(svrTipoPago, svrGeneradorMensaje);
                cRespuesta          = svrProcesadorPago.ProcesarPago(dImporte, dImporteComparar, cConcepto, cModalidad);
                Console.WriteLine(cRespuesta);
            }

            Console.Write("Presiona cualquier tecla para salir del programa...");
            Console.ReadKey();
        }