Пример #1
0
        /// <summary>
        /// Método para obtener el tiempo de traslado con base al medio de transporte a instanciar.
        /// </summary>
        /// <param name="datosPedidoDTO">Pedidos DTO.</param>
        /// <returns>Retorna el tiempo de traslado del medio de transporte.</returns>
        public decimal ObtenerTiempoTraslado(DatosPedidoDTO datosPedidoDTO)
        {
            ValidarParametroDatosPedidoDTO(datosPedidoDTO);

            decimal dTiempoTraslado = 0;

            var eEstacionAnio = srvObtenedorEstacionAnio.ObtenerEstacionAnio(datosPedidoDTO.dtFechaHoraPedido);

            var dDescansoDiario = srvObtenedorDescansoDiario.ObtenerDescansoDiario(eEstacionAnio);

            var dTiempoExtra = (6 * dDescansoDiario) / 24M;

            dTiempoTraslado = 6 + dTiempoExtra;

            return truncadorDecimales.TruncarNumero(dTiempoTraslado);
        }
        /// <summary>
        /// Método para obtener el tiempo de traslado con base al medio de transporte a instanciar.
        /// </summary>
        /// <param name="datosPedidoDTO">Pedidos DTO.</param>
        /// <returns>Retorna el tiempo de traslado del medio de transporte.</returns>
        public decimal ObtenerTiempoTraslado(DatosPedidoDTO datosPedidoDTO)
        {
            ValidarParametroDatosPedidoDTO(datosPedidoDTO);

            decimal dTiempoTraslado = 0;

            var eEstacionAnio = srvObtenedorEstacionAnio.ObtenerEstacionAnio(datosPedidoDTO.dtFechaHoraPedido);

            var dVariacionVelocidad = srvObtenedorVariacionVelocidadPorEstacionAnioService.ObtenerVariacionVelocidad(eEstacionAnio);

            var dPorcentajeEstacion = dVariacionVelocidad / 100M;

            var dVelocidad = 46 + (46 * dPorcentajeEstacion);

            dTiempoTraslado = datosPedidoDTO.dDistancia / dVelocidad;

            return(truncadorDecimales.TruncarNumero(dTiempoTraslado));
        }