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); }
public TipoMensaje?Verificar(PeticionPedido peticionPedido) { if (_verificacioSiguiente != null) { return(_verificacioSiguiente.Verificar(peticionPedido)); } return(null); }
new public TipoMensaje?Verificar(PeticionPedido peticionPedido) { if (peticionPedido.Paqueteria == null) { return(TipoMensaje.NoExisteEmpresa); } else { return(base.Verificar(peticionPedido)); } }
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()); }
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); } } }