private void crear_Click(object sender, RoutedEventArgs e)
        {
            List <string> rango_fecha      = new List <string>();
            List <string> listado_horarios = new List <string>();

            // List<int> id_trayectos = new List<int>();
            if (validarInsertViajeDiario())
            {
                DateTime inicio = DateTime.Parse(this.fechaDesde.Text);
                DateTime final  = DateTime.Parse(this.fechaHasta.Text);

                for (DateTime i = inicio; i <= final; i = i.AddDays(1))
                {
                    rango_fecha.Add(i.ToString("dd-MM-yyyy"));
                }
                foreach (UIElement ui in this.horarios.Children)
                {
                    int row = System.Windows.Controls.Grid.GetRow(ui);
                    int col = System.Windows.Controls.Grid.GetColumn(ui);

                    if ((row == 0) && (col == 0 || col == 1 || col == 2))
                    {
                        Label label = (Label)ui;
                    }
                    else
                    {
                        TextBox txt = (TextBox)ui;
                        listado_horarios.Add(txt.Text);
                    }
                }

                string id_recorrido       = this.recorrido.ToString();
                string identificadorViaje = identificador.Text;
                string fechaInicioViaje   = fechaDesde.Text;
                string fechaFinViaje      = fechaHasta.Text;

                try{
                    // INSERT EN LA TABLA TRAYECTO GUARDO EL VIAJE
                    MySqlConnection con          = conexionDB.ObtenerConexion();
                    string          insertString = "INSERT INTO viajes (RECORRIDO,IDENTIFICADOR,DESDE,HASTA) VALUES (?recorrido,?identificador,?desde,?hasta)";

                    MySqlCommand cmd = new MySqlCommand(insertString, con);
                    cmd.Parameters.Add("?recorrido", Convert.ToInt32(id_recorrido));
                    cmd.Parameters.Add("?identificador", identificadorViaje);
                    cmd.Parameters.Add("?desde", fechaInicioViaje);
                    cmd.Parameters.Add("?hasta", fechaFinViaje);

                    cmd.ExecuteNonQuery();
                    con.Close();

                    //con.Open();


                    List <Trayecto> id_trayectos = TrayectoFacade.buscarPorRecorrido(this.recorrido);
                    // OBTENGO LOS TRAYECTOS SEGUN EL VIAJE

                    /*string selectTrayectos = "SELECT ID FROM TRAYECTO WHERE RECORRIDO = " + this.recorrido;
                     *
                     * cmd = new MySqlCommand(selectTrayectos, con);
                     *
                     * MySqlDataReader dr;
                     * dr = cmd.ExecuteReader();
                     * while (dr.Read())
                     * {
                     *   id_trayectos.Add(dr.GetInt32(0));
                     *
                     * }
                     * con.Close();*/
                    con.Open();
                    int id_viaje = 0;
                    //OBTENGO EL ID DEL VIAJE CREADO.
                    string selectIDVIAJE = "SELECT ID FROM VIAJES WHERE RECORRIDO = " + this.recorrido + " AND IDENTIFICADOR = '" + identificadorViaje + "'";
                    cmd = new MySqlCommand(selectIDVIAJE, con);
                    MySqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        id_viaje = (dr.GetInt32(0));
                    }

                    con.Close();


                    // INSERT EN VIAJES DIARIOS
                    string rutChofer   = obtenerRutPersona(comboChofer.Text, "CHOFER");
                    string rutAuxiliar = obtenerRutPersona(comboAuxiliar.Text, "AUXILIAR");
                    for (int i = 0; i < rango_fecha.Count; i++)
                    {
                        for (int j = 0; j < id_trayectos.Count; j++)
                        {
                            con.Open();

                            insertString = "INSERT INTO viajes_diarios (VIAJE,TRAYECTO,FECHA,BUS,CHOFER,AUXILIAR,ASIENTOS_DISPONIBLES,RUTA_ARCHIVO) VALUES (?viaje,?trayecto,?fecha,?bus,?chofer,?auxiliar,45,'VACIO')";

                            cmd = new MySqlCommand(insertString, con);
                            cmd.Parameters.Add("?viaje", id_viaje);
                            cmd.Parameters.Add("?trayecto", id_trayectos[j].id);
                            cmd.Parameters.Add("?fecha", rango_fecha[i]);
                            cmd.Parameters.Add("?bus", comboBus.Text);
                            cmd.Parameters.Add("?chofer", rutChofer);
                            cmd.Parameters.Add("?auxiliar", rutAuxiliar);

                            cmd.ExecuteNonQuery();
                            con.Close();
                        }
                    }


                    // INSERT EN HORARIOS
                    for (int i = 0; i < listado_horarios.Count; i = i + 3)
                    {
                        con.Open();
                        insertString = "INSERT INTO HORARIOS (VIAJE,LLEGADA,SALIDA,PARADA) VALUES (?viaje,?llegada,?salida,?parada)";

                        cmd = new MySqlCommand(insertString, con);
                        cmd.Parameters.Add("?viaje", id_viaje);
                        cmd.Parameters.Add("?llegada", listado_horarios[i]);
                        cmd.Parameters.Add("?salida", listado_horarios[i + 1]);

                        Parada paradaCiudad = ParadaFacade.buscarPorRecorridoCiudad(this.recorrido, (listado_horarios[i + 2]));
                        cmd.Parameters.Add("?parada", paradaCiudad.id);

                        cmd.ExecuteNonQuery();
                        con.Close();
                    }

                    nuevoViaje nuevoViajeDiario = new nuevoViaje();
                    nuevoViajeDiario.Show();
                } // FIN TRY
                catch (Exception ex)
                {
                    validar vInsert = new validar();
                    vInsert.show(ex.Message);
                }
            } // FIN IF DATOS VALIDOS
        }
        private void editar_Click(object sender, RoutedEventArgs e)
        {
            if (validarUpdate())
            {
                // UPDATE

                int contador = 0;
                foreach (UIElement ui in this.horarios.Children)
                {
                    int row = System.Windows.Controls.Grid.GetRow(ui);
                    int col = System.Windows.Controls.Grid.GetColumn(ui);

                    if ((row == 0) && (col == 0 || col == 1 || col == 2))
                    {
                        Label label = (Label)ui;
                    }
                    else
                    {
                        TextBox txt        = (TextBox)ui;
                        string  textoCelda = txt.Text;
                        if (row > 0 && col < 2)
                        {
                            if (contador == 0)
                            {
                                listHorariosLlegadaUpdate.Add(textoCelda);
                                contador = 1;
                            }
                            else
                            {
                                listHorariosSalidaUpdate.Add(textoCelda);
                                contador = 0;
                            }
                        }
                    }
                }


                MySqlConnection con;

                for (int i = 0; i < (paradas.Count); i++)
                {
                    con = conexionDB.ObtenerConexion();
                    Viaje ciudad = ViajeFacade.buscarPorId(this.id_viaje);

                    Parada paradaCiudad = ParadaFacade.buscarPorRecorridoCiudad(ciudad.recorrido, this.paradas[i]);

                    string       updateString  = "UPDATE HORARIOS SET LLEGADA=?llegada, SALIDA=?salida WHERE VIAJE=?viaje AND PARADA=?parada";
                    MySqlCommand updateCommand = new MySqlCommand(updateString, con);
                    updateCommand.Parameters.Add("?llegada", listHorariosLlegadaUpdate[i]);
                    updateCommand.Parameters.Add("?salida", listHorariosSalidaUpdate[i]);
                    updateCommand.Parameters.Add("?viaje", this.id_viaje);
                    updateCommand.Parameters.Add("?parada", paradaCiudad.id);

                    updateCommand.ExecuteNonQuery();
                    con.Close();
                }

                MySqlConnection con2 = conexionDB.ObtenerConexion();
                string          updateDatosViajes  = "UPDATE VIAJES_DIARIOS SET BUS=?bus, AUXILIAR=?auxiliar,CHOFER=?chofer WHERE VIAJE=?viaje";
                MySqlCommand    updateDatosCommand = new MySqlCommand(updateDatosViajes, con2);
                updateDatosCommand.Parameters.Add("?bus", comboBus.Text);
                updateDatosCommand.Parameters.Add("?auxiliar", obtenerRutPersonaByNombre(comboAuxiliar.Text, "AUXILIAR"));
                updateDatosCommand.Parameters.Add("?chofer", obtenerRutPersonaByNombre(comboChofer.Text, "CHOFER"));
                updateDatosCommand.Parameters.Add("?viaje", this.id_viaje);

                updateDatosCommand.ExecuteNonQuery();
                con2.Close();

                nuevoViajeDiario = new nuevoViaje();
                nuevoViajeDiario.Show();
                nuevoViajeDiario.saludo.Text     = "Gracias por actualizar nuestros registros";
                nuevoViajeDiario.textBlock1.Text = "Se ha actualizado correctamente el viaje en el sistema";
            }
        }