Beispiel #1
0
        public EscalaTiempo ObtenerEscalaTiempo(DateTime actual, DateTime fecha)
        {
            TimeSpan     duracion = actual - fecha;
            EscalaTiempo escala   = EscalaTiempo.NoEscala;

            if (Math.Abs(duracion.TotalDays / 30.436875) >= 1)
            {
                return(EscalaTiempo.Mes);
            }

            if (Math.Abs(duracion.TotalDays) >= 1)
            {
                return(EscalaTiempo.Dia);
            }

            if (Math.Abs(duracion.TotalHours) >= 1)
            {
                return(EscalaTiempo.Hora);
            }

            if (Math.Abs(duracion.TotalMinutes) >= 1)
            {
                return(EscalaTiempo.Minuto);
            }

            return(escala);
        }
        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);
        }
        public int ObtenerDuracion(DateTime actual, DateTime fecha, EscalaTiempo escala)
        {
            int      duracionEscala = 0;
            TimeSpan duracion       = actual - fecha;

            switch (escala)
            {
            case EscalaTiempo.Mes:
                duracionEscala = (int)Math.Abs(duracion.TotalDays / 30.436875);
                break;

            case EscalaTiempo.Dia:
                duracionEscala = (int)Math.Abs(duracion.TotalDays);
                break;

            case EscalaTiempo.Hora:
                duracionEscala = (int)Math.Abs(duracion.TotalHours);
                break;

            case EscalaTiempo.Minuto:
                duracionEscala = (int)Math.Abs(duracion.TotalMinutes);
                break;
            }

            return(duracionEscala);
        }
        public void ObtenerEscalaTiempo_FechaNoTieneEscala_EscalaTiempoNinguna()
        {
            //Arrange
            DateTime actual = new DateTime(2020, 01, 01);
            DateTime fecha  = new DateTime(2020, 01, 01);

            //Act
            EscalaTiempo escala = _obtenedorEscala.ObtenerEscalaTiempo(actual, fecha);

            //Assert
            Assert.AreEqual(EscalaTiempo.NoEscala, escala);
        }
        public void ObtenerEscalaTiempo_FechaTieneMinuto_EscalaTiempoMinuto()
        {
            //Arrange
            DateTime actual = new DateTime(2020, 01, 01);
            DateTime fecha  = new DateTime(2020, 01, 01, 00, 04, 00);

            //Act
            EscalaTiempo escala = _obtenedorEscala.ObtenerEscalaTiempo(actual, fecha);

            //Assert
            Assert.AreEqual(EscalaTiempo.Minuto, escala);
        }
        public void ObtenerEscalaTiempo_FechaTieneHora_EscalaTiempoHora()
        {
            //Arrange
            DateTime actual = new DateTime(2020, 01, 01);
            DateTime fecha  = new DateTime(2020, 01, 01, 03, 00, 00);

            //Act
            EscalaTiempo escala = _obtenedorEscala.ObtenerEscalaTiempo(actual, fecha);

            //Assert
            Assert.AreEqual(EscalaTiempo.Hora, escala);
        }
        public void ObtenerEscalaTiempo_FechaTieneMeses_EscalaTiempoMes()
        {
            //Arrange
            DateTime actual = new DateTime(2020, 01, 01);
            DateTime fecha  = new DateTime(2020, 03, 31);

            //Act
            EscalaTiempo escala = _obtenedorEscala.ObtenerEscalaTiempo(actual, fecha);

            //Assert
            Assert.AreEqual(EscalaTiempo.Mes, escala);
        }
Beispiel #8
0
 public EventoFuturo(string nombre, int duracion, EscalaTiempo escala)
 {
     Nombre   = nombre;
     Duracion = duracion;
     Escala   = escala;
 }
Beispiel #9
0
        public DateTime CalcularFechaEntrega(DateTime fechaPedido, double tiempoTranslado, EscalaTiempo escalaTiempo)
        {
            DateTime fechaEntrega = new DateTime();

            switch (escalaTiempo)
            {
            case EscalaTiempo.Mes:
                fechaEntrega = fechaPedido.AddMonths((int)tiempoTranslado);
                break;

            case EscalaTiempo.Dia:
                fechaEntrega = fechaPedido.AddDays((int)tiempoTranslado);
                break;

            case EscalaTiempo.Hora:
                fechaEntrega = fechaPedido.AddHours((int)tiempoTranslado);
                break;

            case EscalaTiempo.Minuto:
                fechaEntrega = fechaPedido.AddMinutes((int)tiempoTranslado);
                break;
            }

            return(fechaEntrega);
        }