public FactoryEnvios(SolicitudEnvio _solicitudEnvio, ConfiguracionesDTO _configuraciones) { SolicitudEnvio = _solicitudEnvio; PaqueteriaCompetencia = new List <IPaqueteria>(); Tiempos = crearformatosTiempo(); Mensajes = new ErrorMensaje(); switch (SolicitudEnvio.cPaqueteria) { case "Fedex": Paqueteria = new Fedex(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionFedex); PaqueteriaCompetencia.Add(new DHL(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionDHL)); PaqueteriaCompetencia.Add(new Estafeta(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionEstafeta)); break; case "DHL": Paqueteria = new DHL(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionDHL); PaqueteriaCompetencia.Add(new Fedex(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionFedex)); PaqueteriaCompetencia.Add(new Estafeta(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionEstafeta)); break; case "Estafeta": Paqueteria = new Estafeta(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionEstafeta); PaqueteriaCompetencia.Add(new Fedex(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionFedex)); PaqueteriaCompetencia.Add(new DHL(SolicitudEnvio.cTransporte, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionDHL)); break; default: throw new Exception(string.Format(Mensajes.ImprimirMensajeEnvio(), MostrarValidacionPaqueteria())); break; } if (!Paqueteria.ValidarTransporte()) { throw new Exception(string.Format(Mensajes.ImprimirMensajeEnvio(), MostrarValidaciontransporte())); } switch (SolicitudEnvio.cTransporte) { case "Marítimo": Transporte = new Maritimo(SolicitudEnvio.dDistancia, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionMaritimo); break; case "Terrestre": Transporte = new Terrestre(SolicitudEnvio.dDistancia, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionTerrestre); break; case "Aéreo": Transporte = new Aereo(SolicitudEnvio.dDistancia, SolicitudEnvio.dtFechaEnvio, _configuraciones.ConfiguracionAereo); break; default: throw new Exception(string.Format(Mensajes.ImprimirMensajeEnvio(), MostrarValidaciontransporte())); break; } }
public TiempoDeEntrega(StringBuilder mensajeEntregado, bool estaEntregado, IFormatoTiempo formatoTiempo, ICreadorMensaje creadorMensajeSiguiente) : base(mensajeEntregado, creadorMensajeSiguiente) { _estaEntregado = estaEntregado; _formatoTiempo = formatoTiempo; }
public Envios(IPaqueteria _Paqueteria, ITransporte _Transporte, IFormatoTiempo _FormatoTiempo, SolicitudEnvio _solicitudEnvio) { solicitudEnvio = _solicitudEnvio; Paqueteria = _Paqueteria; cPaqueteria = solicitudEnvio.cPaqueteria; FormatoTiempo = _FormatoTiempo; this.LstOpciones = new Dictionary <string, decimal>(); this.Transporte = _Transporte; }
public string ObtenerRespuesta() { StringBuilder stringBuilder = new StringBuilder(); List <PeticionPedido> pedidos = lectorArchivoPedido.LeerArchivo(); IEmpresaPaqueteria empresaPaqueteria; foreach (PeticionPedido pedido in pedidos) { try { empresaPaqueteria = sucursal.ObtenerEmpresa(pedido.PaqueteriaCadena); IFormatoTiempo formatoTiempo = formatosTiempoEspecificos.ObtenerFormatoTiempo(tiempoActual, pedido.FechaPedido); string mensaje = new CreadorMensajeEntregado(empresaPaqueteria, formatoTiempo).CrearMensajeEntregado(pedido, true); stringBuilder.AppendLine(mensaje); } catch (Exception err) { stringBuilder.AppendLine(err.Message); } } return(stringBuilder.ToString()); }
public void Siguiente(IFormatoTiempo _formatoTiempo) { this.formatoTiempo = _formatoTiempo; }
public CreadorMensajeEntregado(IEmpresaPaqueteria empresaPaqueteria, IFormatoTiempo formatoTiempo) { this.empresaPaqueteria = empresaPaqueteria; this.formatoTiempo = formatoTiempo; }