예제 #1
0
        public List<PicoPlacaValidacion> Validaciones(int d, int m, int y)
        {
            List<PicoPlacaValidacion> listaPicoPlacaValidacion = new List<PicoPlacaValidacion>();
            try
            {
                int placa = 1;
                for (int dia = 1; dia < 6; dia++)
                {
                    for (int i = placa; i <= placa+1; i++)
                    {
                        int numPlaca = i;
                        //Si ya llego a 10
                        if (i == 10)
                           numPlaca = 0;
                        picoPlacaValidacion = new PicoPlacaValidacion(numPlaca.ToString(),dia.ToString(),
                            new DateTime(y,m,d,7,0,0), //asi aseugro que sea en el mismo dia aunque el usuario haya movido el calendario de la hora
                            new DateTime(y,m,d,9,30,0),
                            new DateTime(y,m,d,16,0,0),new DateTime(y,m,d,19,30,0));

                        listaPicoPlacaValidacion.Add(picoPlacaValidacion);
                    }
                    placa = placa+2; //incremento en 2 para que no repita

                }

            }
            catch (Exception ex)
            {

                MessageBox.Show("Ocurrio el siguiente error: " + ex.Message);
            }
            return listaPicoPlacaValidacion;
        }
예제 #2
0
        public void predictorTest()
        {
            PicoPlacaValidacion picoPlacaValidacion = new PicoPlacaValidacion();
            List<PicoPlacaValidacion> listaValidaciones = new List<PicoPlacaValidacion>();
            //lleno la lista de validaciones
            int y = 2015;
            int m = 12;
            int d = 02;
            int placa = 1;
            for (int dia = 1; dia < 6; dia++)
            {
                for (int i = placa; i <= placa + 1; i++)
                {
                    int numPlaca = i;
                    //Si ya llego a 10
                    if (i == 10)
                        numPlaca = 0;
                    picoPlacaValidacion = new PicoPlacaValidacion(numPlaca.ToString(), dia.ToString(), new DateTime(y,m,d,7,0,0),
                        new DateTime(y,m,d,9,30,0),
                        new DateTime(y,m,d,16,0,0), new DateTime(y,m,d,19,30,0));

                    listaValidaciones.Add(picoPlacaValidacion);
                }
                placa = placa + 2;
            }

            //estos datos serian el input
            PicoPlaca picoPlaca = new PicoPlaca("PV-1235", "02/12/2015", new DateTime(2015, 12, 2, 8, 40, 0));
            //si se ponen solamente dos digitos no funciona

            //longitud de la cadena
            int longitud = picoPlaca.Placa.Length - 1;

            //sacar el ultimo digito
            DateTime fecha= Convert.ToDateTime("02/12/2015");
            string diaSemana = ((int)(fecha.DayOfWeek)).ToString();
            string placaVehiculo = picoPlaca.Placa.Substring(longitud, 1);
            string listaComparar = (from l in listaValidaciones
                                where l.Placa == placaVehiculo &&
                                l.Dia == diaSemana &&
                                 ((picoPlaca.Tiempo >= l.HoraInicioM &&
                                picoPlaca.Tiempo <= l.HoraFinM) ||
                                (picoPlaca.Tiempo >= l.HoraInicioT &&
                                picoPlaca.Tiempo <= l.HoraFinT) )
                                select l.Dia).FirstOrDefault();

            Assert.AreEqual(listaComparar, diaSemana, "No puede viajar, tiene pico y placa.");
        }