Esempio n. 1
0
        public bool Pronosticar(PicoPlacaME picoPlacaME)
        {
            bool puedeViajar = true;
            try
            {
                int longitud = picoPlacaME.PicoPlaca.Placa.Length - 1; //longitud
                DateTime fecha = Convert.ToDateTime(picoPlacaME.PicoPlaca.Fecha);
                string diaSemana = ((int)(fecha.DayOfWeek)).ToString();
                var listaComparar = from l in picoPlacaME.ListaValidacion
                                    where l.Placa == picoPlacaME.PicoPlaca.Placa.Substring(longitud, 1) &&
                                    l.Dia == diaSemana &&
                                    ((picoPlacaME.PicoPlaca.Tiempo >= Convert.ToDateTime(l.HoraInicioM) &&
                                    picoPlacaME.PicoPlaca.Tiempo <= Convert.ToDateTime(l.HoraFinM)) ||
                                    (picoPlacaME.PicoPlaca.Tiempo >= Convert.ToDateTime(l.HoraInicioT) &&
                                    picoPlacaME.PicoPlaca.Tiempo <= Convert.ToDateTime(l.HoraFinT)))
                                    select l;
                if (listaComparar.Count() > 0)
                    puedeViajar = false;
            }
            catch (Exception ex)
            {

               // MessageBox.Show("Ocurrio el siguiente error: " + ex.Message);
            }
            return puedeViajar;
        }
        private void picoPlacaButton_Click(object sender, EventArgs e)
        {
            try
            {
                //ingrese todos los campos
                if (this.placTextBox.Text == string.Empty || this.fechaDateTimePicker.Value == null
                    || this.tiempoDateTimePicker.Value == null)
                {
                    MessageBox.Show("Todos los datos son obligatorios, favor ingrese todos los campos.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else
                {
                    //la placa debe tener 7 digitos en Ecuador
                    if (this.placTextBox.Text.Length < 7)
                    {
                        MessageBox.Show("La placa debe tener 7 digitos.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    dia = fechaDateTimePicker.Value.Day;
                    mes = fechaDateTimePicker.Value.Month;
                    a = fechaDateTimePicker.Value.Year;
                    //llamo al predictor
                    Predictor predictor = new Predictor();
                    PicoPlacaME picoPlacaME = new PicoPlacaME();
                    picoPlacaME.PicoPlaca = this.EnviarDatos();
                    picoPlacaME.ListaValidacion = this.Validaciones(dia, mes, a);
                    bool puedeCircular = predictor.Pronosticar(picoPlacaME);
                    if (!puedeCircular)
                        MessageBox.Show("No puede viajar, tiene pico y placa.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    else
                        MessageBox.Show("Puede viajar.", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

            }
            catch (Exception ex)
            {

                MessageBox.Show("Ocurrio el siguiente error: " + ex.Message);
            }
        }