예제 #1
0
        public List <Contenedor> ProcesarString(List <string> eventos, char separador)
        {
            List <Contenedor> contenedores = new List <Contenedor>();

            foreach (string evento in eventos)
            {
                string[] contenido = evento.Split(separador);

                if (contenido.Length == 2)
                {
                    DateTime fechaActual = new DateTime(2020, 01, 01); //DateTime.Now
                    DateTime fechaEvento = _convertidorFecha.ConvertirFecha(contenido[1]);

                    TipoEvento   tipo           = _obtenedorTipoEvento.ObtenerTipoEvento(fechaActual, fechaEvento);
                    EscalaTiempo escala         = _obtenedorEscala.ObtenerEscalaTiempo(fechaActual, fechaEvento);
                    int          duracionEvento = _obtenedorDuracion.ObtenerDuracion(fechaActual, fechaEvento, escala);

                    Contenedor contenedor = new Contenedor()
                    {
                        Tipo     = tipo,
                        Escala   = escala,
                        Duracion = duracionEvento,
                        Nombre   = contenido[0]
                    };

                    contenedores.Add(contenedor);
                }
            }

            return(contenedores);
        }
예제 #2
0
 public void RePoblarPedido(IPedido pedido, DateTime fechaActual, int margenUtilidad, ITransporte transporte)
 {
     pedido.EscalaTiempo = _obtenedorEscala.ObtenerEscalaTiempo(fechaActual, pedido.FechaHora);
     pedido.Tiempo       = _obtenedorTipoEvento.ObtenerTipoEvento(fechaActual, pedido.FechaHora);
     pedido.Duracion     = _obtenedorDuracion.ObtenerDuracion(fechaActual, pedido.FechaHora, pedido.EscalaTiempo);
     pedido.Costo        = _calculador.CalcularCosto(transporte.CostoKm, pedido.Distancia, margenUtilidad);
     pedido.FechaEntrega = _calculador.CalcularFechaEntrega(pedido.FechaHora, pedido.Duracion, pedido.EscalaTiempo);
 }