コード例 #1
0
        public bool Validar(IEmpresaPaqueteriaFactory empresaPaqueteriaFactory,
                            PeticionPedido peticionPedido,
                            out string mensajeError)
        {
            bool                        EsValida                    = false;
            NoExisteEmpresa             noExisteEmpresa             = new NoExisteEmpresa();
            NoExisteTransporteEnEmpresa noExisteTransporteEnEmpresa = new NoExisteTransporteEnEmpresa(empresaPaqueteriaFactory);

            noExisteEmpresa.SetVerificacionSiguiente(noExisteTransporteEnEmpresa);

            TipoMensaje?mensaje = noExisteEmpresa.Verificar(peticionPedido);

            switch (mensaje)
            {
            case TipoMensaje.NoExisteEmpresa:
                mensajeError = string.Format("La Paquetería: {0} no se encuentra registrada en nuestra red de distribución.", peticionPedido.PaqueteriaCadena);
                break;

            case TipoMensaje.NoExisteTrasporte:
                mensajeError = string.Format("{0} no ofrece el servicio de transporte {1}, te recomendamos cotizar en otra empresa.", peticionPedido.PaqueteriaCadena, peticionPedido.TransporteCadena);
                break;

            default:
                mensajeError = "";
                EsValida     = true;
                break;
            }

            return(EsValida);
        }
コード例 #2
0
        public TipoMensaje?Verificar(PeticionPedido peticionPedido)
        {
            if (_verificacioSiguiente != null)
            {
                return(_verificacioSiguiente.Verificar(peticionPedido));
            }

            return(null);
        }
コード例 #3
0
 new public TipoMensaje?Verificar(PeticionPedido peticionPedido)
 {
     if (peticionPedido.Paqueteria == null)
     {
         return(TipoMensaje.NoExisteEmpresa);
     }
     else
     {
         return(base.Verificar(peticionPedido));
     }
 }
コード例 #4
0
        public string CrearMensajeEntregado(PeticionPedido peticionPedido, bool paqueteEntregado)
        {
            StringBuilder    mensajeResultante = new StringBuilder();
            IMedioTransporte medioTransporte   = empresaPaqueteria.ObtenerMedioDeTransporte(peticionPedido.TransporteCadena.ToLower());
            ICostoDistancia  costoDistancia    = medioTransporte.CostoDistancia;

            ReclamacionPaqueteria reclamacionPaqueteria = new ReclamacionPaqueteria(mensajeResultante, peticionPedido.PaqueteriaCadena);
            CostoDeEntrega        costoDeEntrega        = new CostoDeEntrega(mensajeResultante, paqueteEntregado, costoDistancia, reclamacionPaqueteria);
            NexoY           nexoY2          = new NexoY(mensajeResultante, costoDeEntrega);
            TiempoDeEntrega tiempoDeEntrega = new TiempoDeEntrega(mensajeResultante, paqueteEntregado, formatoTiempo, nexoY2);
            EstadoDeEntrega estadoDeEntrega = new EstadoDeEntrega(mensajeResultante, paqueteEntregado, peticionPedido.Destino, tiempoDeEntrega);
            NexoY           nexoY           = new NexoY(mensajeResultante, estadoDeEntrega);
            EstadoDeSalida  estadoDeSalida  = new EstadoDeSalida(mensajeResultante, paqueteEntregado, peticionPedido.Origen, nexoY);
            InicioMensaje   inicioMensaje   = new InicioMensaje(mensajeResultante, estadoDeSalida);

            inicioMensaje.AgregarMensaje();

            return(mensajeResultante.ToString());
        }
コード例 #5
0
        new public TipoMensaje?Verificar(PeticionPedido peticionPedido)
        {
            if (peticionPedido.MedioTransporte == null)
            {
                return(TipoMensaje.NoExisteTrasporte);
            }
            else
            {
                bool existetrasporte = _empresaPaqueteriaFactory.CrearEmpresa().MediosTransporte.Select(s => s.Tipo).Contains(peticionPedido.MedioTransporte.ToString().ToLower());

                if (existetrasporte)
                {
                    return(base.Verificar(peticionPedido));
                }
                else
                {
                    return(TipoMensaje.NoExisteTrasporte);
                }
            }
        }