Beispiel #1
0
        private static List <string> ObtenerMensajesPedido(List <PedidoDTO> _lstPedidoDTO)
        {
            DateTime              dtFechaActual         = new DateTime(2020, 1, 23, 14, 0, 0);
            var                   docContainer          = Container.For <DI_Dependencias>();
            TiempoRepartoFactory  tiempoRepartoFactory  = new TiempoRepartoFactory(docContainer);
            TiempoTrasladoFactory tiempoTrasladoFactory = new TiempoTrasladoFactory();
            MensajePedidoPaquete  mensajePedidoPaquete  = ObtenerInstanciaMensajePedidoPaquete();
            CostoEnvioFactory     costoEnvioFactory     = new CostoEnvioFactory(docContainer);
            List <string>         lstInformacionPedido  = new List <string>();

            foreach (PedidoDTO pedido in _lstPedidoDTO)
            {
                ITiempoReparto  tiempoReparto  = tiempoRepartoFactory.CrearInstancia(pedido.enumEmpresa);
                ITiempoTraslado tiempoTraslado = tiempoTrasladoFactory.CrearInstancia(pedido.enumMedioTransporte);
                ITiempoEntrega  tiempoEntrega  = new TiempoEntrega(tiempoTraslado, tiempoReparto);
                IFechaEntrega   fechaEntrega   = new FechaEntrega();
                ICostoEnvio     costoEnvio     = costoEnvioFactory.CrearInstancia(pedido.enumMedioTransporte, pedido.cIdentificadorEmpresa);
                ProcesadorInformacionPedidoPaquete procesadorInformacionPedidoPaquete = new ProcesadorInformacionPedidoPaquete(mensajePedidoPaquete, tiempoEntrega, fechaEntrega, costoEnvio);
                lstInformacionPedido.Add(procesadorInformacionPedidoPaquete.ObtenerInformacionPedidoPaquete(pedido, dtFechaActual));
            }
            return(lstInformacionPedido);
        }
Beispiel #2
0
        //private readonly IContainer container;

        //public TiempoTrasladoFactory(IContainer _container)
        //{
        //    container = _container ?? throw new ArgumentNullException(nameof(_container));
        //}
        public ITiempoTraslado CrearInstancia(EnumMedioTransporte _enumMedioTransporte)
        {
            ITiempoTraslado tiempoTraslado = null;

            switch (_enumMedioTransporte)
            {
            case EnumMedioTransporte.Maritimo:

                break;

            case EnumMedioTransporte.Terrestre:

                break;

            case EnumMedioTransporte.Aereo:
                IEscalaPorKM                escalaPorKM                = new EscalaPorKMAereo();
                ITiempoExtraTraslado        tiempoExtraTraslado        = new TiempoExtraTrasladoAereo(escalaPorKM);
                IVelocidadEntregaTransporte velocidadEntregaTransporte = new VelocidadEntregaTransporte();
                tiempoTraslado = new TiempoTrasladoAereo(tiempoExtraTraslado, velocidadEntregaTransporte);
                break;
            }
            return(tiempoTraslado);
        }
Beispiel #3
0
 public TiempoEntrega(ITiempoTraslado _tiempoTraslado, ITiempoReparto _tiempoReparto)
 {
     tiempoTraslado = _tiempoTraslado ?? throw new System.ArgumentNullException(nameof(_tiempoTraslado));
     tiempoReparto  = _tiempoReparto ?? throw new System.ArgumentNullException(nameof(_tiempoReparto));
 }