示例#1
0
        public decimal ObtenerTiempoEntrega(decimal _dDistancia, EnumMedioTransporte _enumMedioTransporte)
        {
            decimal dTiempoTraslado = tiempoTraslado.ObtenerTiempoTraslado(_dDistancia);
            decimal dTiempoReparto  = tiempoReparto.ObtenerTiempoReparto(_enumMedioTransporte);

            return(dTiempoTraslado + dTiempoReparto);
        }
示例#2
0
        public ICostoEnvio CrearInstancia(EnumMedioTransporte _enumMedioTransporte, string _cIdentificadorEmpresa)
        {
            ICostoEnvio costoEnvio = null;

            switch (_enumMedioTransporte)
            {
            case EnumMedioTransporte.Maritimo:

                break;

            case EnumMedioTransporte.Terrestre:

                break;

            case EnumMedioTransporte.Aereo:
                costoEnvio = ObtenerInstanciaCostoEnvioAereo(_cIdentificadorEmpresa);
                break;
            }
            return(costoEnvio);
        }
示例#3
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);
        }
示例#4
0
        public decimal ObtenerVelocidadEntregaTransporte(EnumMedioTransporte _enumMedioTransporte)
        {
            decimal dVelocidadEntrega;

            switch (_enumMedioTransporte)
            {
            case EnumMedioTransporte.Maritimo:
                dVelocidadEntrega = dTiempoMaritimo;
                break;

            case EnumMedioTransporte.Terrestre:
                dVelocidadEntrega = dTiempoTerrestre;
                break;

            case EnumMedioTransporte.Aereo:
                dVelocidadEntrega = dTiempoAereo;
                break;

            default:
                dVelocidadEntrega = decimal.Zero;
                break;
            }
            return(dVelocidadEntrega);
        }
示例#5
0
        private decimal dTiempoAereo     = 180M;  //3 horas

        public decimal ObtenerTiempoReparto(EnumMedioTransporte _enumMedioTransporte)
        {
            decimal dTiempoReparto;

            switch (_enumMedioTransporte)
            {
            case EnumMedioTransporte.Maritimo:
                dTiempoReparto = dTiempoMaritimo;
                break;

            case EnumMedioTransporte.Terrestre:
                dTiempoReparto = dTiempoTerrestre;
                break;

            case EnumMedioTransporte.Aereo:
                dTiempoReparto = dTiempoAereo;
                break;

            default:
                dTiempoReparto = decimal.Zero;
                break;
            }
            return(dTiempoReparto);
        }