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); }
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); }