Ejemplo n.º 1
0
        public void GenerarMensaje()
        {
            string cMensaje       = string.Empty;
            string cTipoTiempo    = string.Empty;
            string cTiempoEntrega = string.Empty;
            AlmacenadorDatosService         srvAlmacenador = new AlmacenadorDatosService();
            IRecuperarMensajeTiempoStrategy RecuperadorMensajeTiempoStrategy;
            IGeneradorMensaje GeneradorMensaje;

            if (Datos.tsTiempoTraslado.Days / 31 > 12)
            {
                RecuperadorMensajeTiempoStrategy = new RecuperarMensajeAnios(Datos.tsTiempoTraslado);
                cTipoTiempo = "Años";
            }
            if (Datos.tsTiempoTraslado.Days / 31 > 2 && Datos.tsTiempoTraslado.Days / 31 < 12)
            {
                RecuperadorMensajeTiempoStrategy = new RecuperarMensajeBimestre(Datos.tsTiempoTraslado);
                cTipoTiempo = "Bimestre";
            }
            if (Datos.tsTiempoTraslado.Days / 31 > 0 && Datos.tsTiempoTraslado.Days / 31 < 2)
            {
                RecuperadorMensajeTiempoStrategy = new RecuperarMensajeMeses(Datos.tsTiempoTraslado);
                cTipoTiempo = "Meses";
            }
            else if (Datos.tsTiempoTraslado.Days > 0)
            {
                RecuperadorMensajeTiempoStrategy = new RecuperarMensajeDias(Datos.tsTiempoTraslado);
                cTipoTiempo = "Dias";
            }
            else if (Datos.tsTiempoTraslado.Hours > 0)
            {
                RecuperadorMensajeTiempoStrategy = new RecuperarMensajeHoras(Datos.tsTiempoTraslado);
                cTipoTiempo = "Horas";
            }
            else
            {
                RecuperadorMensajeTiempoStrategy = new RecuperarMensajeMinutos(Datos.tsTiempoTraslado);
                cTipoTiempo = "Minutos";
            }

            string cMensajeTiempo = RecuperadorMensajeTiempoStrategy.ObtenerMensaje();

            if (Datos.dtFechaEntrega < Datos.dtFechaActual)
            {
                GeneradorMensaje = new GeneradorMensajePasado(Datos, cMensajeTiempo);
                new TextoVerde().ObtenerColor();
                cTiempoEntrega = "Entregados";
            }
            else
            {
                GeneradorMensaje = new GeneradorMensajeFuturo(Datos, cMensajeTiempo);
                new TextoAmarillo().ObtenerColor();
                cTiempoEntrega = "Pendientes";
            }

            cMensaje = GeneradorMensaje.ObtenerMensaje();
            srvAlmacenador.AlmacenarDatosArchivo(cMensaje, cTipoTiempo, cTiempoEntrega, Datos.cPaqueteria);
            Console.WriteLine(cMensaje);
        }
Ejemplo n.º 2
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();
        }
        public void GenerarMensaje_ParametroEsTiempoPasadoTrue_RegresaMensajeCorrecto()
        {
            //Arrange
            bool   esTiempoPasado = true;
            string rangoFecha     = "2 días";
            string mensajeExp     = "Tu paquete salió de Origen y llegó a Destino hace 2 días y tuvo un costo de 90 de envío (Cualquier reclamación con Paqueteria)";
            //Act
            GeneradorMensaje generadorMensaje = new GeneradorMensaje();
            string           mensajeAct       = generadorMensaje.GenerarMensaje(_pedido, esTiempoPasado, rangoFecha, _costoEnvio);

            //Assert
            Assert.AreEqual(mensajeExp, mensajeAct);
        }
        public void GenerarMensaje_ParametroEsTiempoPasadoFalse_RegresaMensajeCorrecto()
        {
            //Arrange
            bool   esTiempoPasado = false;
            string rangoFecha     = "1 mes";
            string mensajeExp     = "Tu paquete ha salido de Origen y llegará a Destino dentro de 1 mes y tendrá un costo de 90 de envío (Cualquier reclamación con Paqueteria)";
            //Act
            GeneradorMensaje generadorMensaje = new GeneradorMensaje();
            string           mensajeAct       = generadorMensaje.GenerarMensaje(_pedido, esTiempoPasado, rangoFecha, _costoEnvio);

            //Assert
            Assert.AreEqual(mensajeExp, mensajeAct);
        }