private void tabEditarViajes_Selected(object sender, RoutedEventArgs e)
        {
            this.listadoRecorridos.Visibility = Visibility.Hidden;
            this.cOrigenEditar.Items.Clear();
            this.cDestinoEditar.Items.Clear();

            List <Parada> AllCiudadesGenerales = ParadaFacade.buscarOrigenesGenerales();

            foreach (Parada ciudadOrigen in AllCiudadesGenerales)
            {
                Boolean validarCiudades = true;;

                for (int i = 0; i < this.cOrigenEditar.Items.Count; i++)
                {
                    if (ciudadOrigen.ciudad.nombre.Equals(this.cOrigenEditar.Items.GetItemAt(i)))
                    {
                        validarCiudades = false;
                    }
                }
                if (validarCiudades)
                {
                    this.cOrigenEditar.Items.Add(ciudadOrigen.ciudad.nombre);
                }
            }
        }
        private void comboOrigen_DropDownClosed(object sender, EventArgs e)
        {
            comboDestino.Items.Clear();
            // OBTENER ID CIUDAD ELEGIDA.

            List <int> recorridos = new List <int>();

            string ciudadOrigenElegida = this.comboOrigen.Text;
            Ciudad origen = CiudadFacade.buscarCiudadPorNombre(ciudadOrigenElegida);

            List <Parada> Origenes = ParadaFacade.buscarOrigenesGenerales();

            foreach (Parada ciudadesOrigenes in Origenes)
            {
                if (ciudadesOrigenes.ciudad.nombre.Equals(ciudadOrigenElegida))
                {
                    recorridos.Add(ciudadesOrigenes.recorrido);
                }
            }

            List <Parada> destinos = ParadaFacade.buscarDestinosGeneralesByCiudad(origen, recorridos);

            foreach (Parada ciudad in destinos)
            {
                Boolean validarCiudades = true;;

                for (int i = 0; i < this.comboDestino.Items.Count; i++)
                {
                    if (ciudad.ciudad.nombre.Equals(this.comboDestino.Items.GetItemAt(i)))
                    {
                        validarCiudades = false;
                    }
                }
                if (validarCiudades)
                {
                    this.comboDestino.Items.Add(ciudad.ciudad.nombre);
                }
            }
        }
        public void crearTabla()
        {
            horarios.Children.Clear();
            horarios.ColumnDefinitions.Clear();
            horarios.RowDefinitions.Clear();
            //paradas.Clear();
            TextBox tHorarios;

            try
            {
                // ENCABEZADO 3 COLUMNAS EN LA PRIMERA FILA

                this.horarios.ColumnDefinitions.Add(new ColumnDefinition());
                this.horarios.ColumnDefinitions.Add(new ColumnDefinition());
                this.horarios.ColumnDefinitions.Add(new ColumnDefinition());
                this.horarios.RowDefinitions.Add(new RowDefinition());


                Label llegadaHeader = new Label();
                llegadaHeader.Content = "LLEGADA";
                llegadaHeader.Style   = Resources["HeaderTabla"] as Style;

                llegadaHeader.SetValue(Grid.ColumnProperty, 0);
                llegadaHeader.SetValue(Grid.RowProperty, 0);
                this.horarios.Children.Add(llegadaHeader);

                Label salidadHeader = new Label();
                salidadHeader.Content = "SALIDA";
                salidadHeader.Style   = Resources["HeaderTabla"] as Style;

                salidadHeader.SetValue(Grid.ColumnProperty, 1);
                salidadHeader.SetValue(Grid.RowProperty, 0);
                this.horarios.Children.Add(salidadHeader);

                Label intermediosHeader = new Label();
                intermediosHeader.Content = "INTERMEDIOS";
                intermediosHeader.Style   = Resources["HeaderTabla"] as Style;
                intermediosHeader.Width   = 200;
                intermediosHeader.SetValue(Grid.ColumnProperty, 2);
                intermediosHeader.SetValue(Grid.RowProperty, 0);
                this.horarios.Children.Add(intermediosHeader);

                List <Parada> paradas = ParadaFacade.buscarCiudadesPorRecorrido(this.recorrido);

                /*
                 * MySqlConnection con = conexionDB.ObtenerConexion();
                 * string sql = "SELECT CIUDAD FROM PARADA WHERE RECORRIDO = '" + this.recorrido + "'";
                 * MySqlCommand cmd = new MySqlCommand(sql, con);
                 * MySqlDataReader dr = cmd.ExecuteReader();
                 *
                 * while (dr.Read())
                 * {
                 *
                 *  paradas.Add(dr.GetString(0));
                 *
                 *
                 * }
                 * con.Close();
                 * */

                int largo = paradas.Count;
                this.horarios.ColumnDefinitions[0].Width = new System.Windows.GridLength(70);
                this.horarios.ColumnDefinitions[1].Width = new System.Windows.GridLength(70);
                for (int z = 0; z < largo; z++)
                {
                    this.horarios.RowDefinitions.Add(new RowDefinition());

                    this.horarios.RowDefinitions[z].Height = new System.Windows.GridLength(40);
                }
                this.horarios.RowDefinitions[horarios.RowDefinitions.Count - 1].Height = new System.Windows.GridLength(40);
                int contador = 0;
                for (int row = 1; row < this.horarios.RowDefinitions.Count; row++)
                {
                    for (int col = 0; col < this.horarios.ColumnDefinitions.Count; col++)
                    {
                        if ((col == 0 && row == 1) || (col == 1 && row == horarios.RowDefinitions.Count - 1))
                        {
                            tHorarios       = new TextBox();
                            tHorarios.Style = Resources["ItemTablaGuion"] as Style;
                            tHorarios.Text  = "-";
                            tHorarios.SetValue(Grid.ColumnProperty, col);
                            tHorarios.SetValue(Grid.RowProperty, row);
                            this.horarios.Children.Add(tHorarios);
                        }
                        else if (col == 2 && row != 0)
                        {
                            if (contador < paradas.Count)
                            {
                                tHorarios       = new TextBox();
                                tHorarios.Style = Resources["ItemTablaGuion"] as Style;
                                //tHorarios.Text = ciudadBuscada;
                                tHorarios.Text = paradas[contador].ciudad.nombre;
                                tHorarios.SetValue(Grid.ColumnProperty, col);
                                tHorarios.SetValue(Grid.RowProperty, row);
                                this.horarios.Children.Add(tHorarios);

                                //con.Close();
                            }
                        }
                        else
                        {
                            tHorarios            = new TextBox();
                            tHorarios.Style      = Resources["ItemTablaGuion"] as Style;
                            tHorarios.Text       = "00:00";
                            tHorarios.MaxLength  = 5;
                            tHorarios.IsReadOnly = false;
                            tHorarios.SetValue(Grid.ColumnProperty, col);
                            tHorarios.SetValue(Grid.RowProperty, row);
                            this.horarios.Children.Add(tHorarios);
                        }
                    }
                    contador++;
                }
            }

            catch (Exception ex)
            {
                validar validarError = new validar();
                validarError.show(ex.Message);
            }
        }
        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
        }
Exemplo n.º 5
0
        private void Guardar_Click(object sender, RoutedEventArgs e)
        {
            if (this.lp.Count > 1)
            {
                bool            okPrecios = true;
                TextBox         txt;
                int             idParada  = -1;
                List <Trayecto> trayectos = new List <Trayecto>();
                string[,] precios = new string[this.lp.Count, this.lp.Count];

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

                    if (row != 0 && col != 0)
                    {
                        txt = (TextBox)ui;
                        precios[row - 1, col - 1] = txt.Text;
                    }
                }
                try
                {
                    idParada = ParadaFacade.obtenerProximoId();
                    idParada = idParada + lp.Count - 1;
                    Parada parada    = new Parada(idParada, CiudadFacade.buscarPorNombre(lp[lp.Count - 1]), new Parada());
                    Parada siguiente = parada;
                    Console.WriteLine("Ultima parada: " + parada.id + " siguiente: " + parada.siguiente.id);

                    //     Estructura las paradas
                    for (int i = lp.Count - 2; i > -1; i--)
                    {
                        idParada  = idParada - 1;
                        parada    = new Parada(idParada, CiudadFacade.buscarPorNombre(lp[i]), siguiente);
                        siguiente = parada;
                        Console.WriteLine("Parada: " + parada.id + " siguiente: " + parada.siguiente.id);
                    }
                    // estructura los trayectos
                    for (int i = 0; i < lp.Count; i++)
                    {
                        for (int j = i + 1; j < lp.Count; j++)
                        {
                            if (Convert.ToInt32(precios[i, j]) <= 0)
                            {
                                okPrecios = false;
                            }
                            trayectos.Add(new Trayecto(CiudadFacade.buscarPorNombre(lp[i]), CiudadFacade.buscarPorNombre(lp[j]), Convert.ToInt32(precios[i, j])));
                        }
                    }
                    Recorrido recorrido = new Recorrido(parada, trayectos);

                    try
                    {
                        if (okPrecios == true)
                        {
                            RecorridoFacade.guardar(recorrido);
                            okAlerta alert = new okAlerta();
                            alert.show("Recorrido Ingresado Correctamente");
                            this.DialogResult = true;
                            this.Close();
                        }
                        else
                        {
                            validar alert = new validar();
                            alert.show("La Tarifa del trayecto debe ser MAYOR que 0");
                        }
                    }
                    catch (Exception ex)
                    {
                        validar alert = new validar();
                        alert.show("No se pudo Guardar el Recorrido. Por favor verifique los datos");
                    }
                }
                catch (Exception ex)
                {
                    validar alert = new validar();
                    alert.show("Error al obtener datos. Verifique las paradas nuevamente.");
                }
            }
            else
            {
                validar alert = new validar();
                alert.show("El Recorrido debe tener como minimo dos Paradas");
            }
        }
        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";
            }
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            if (validarIngresoViajeDiario())
            {
                //listadoId.Clear();
                cabecerasAgregarViajes();
                this.gridAgregarViajes.Visibility = Visibility.Visible;
                Ciudad origen  = CiudadFacade.buscarPorNombre(this.comboOrigen.SelectedItem.ToString());
                Ciudad destino = CiudadFacade.buscarPorNombre(this.comboDestino.SelectedItem.ToString());

                listadoId = RecorridoFacade.RecorridoByOrigenDestino(origen, destino);
                List <string> nombreIntermedios = new List <string>();

                for (int z = 0; z < listadoId.Count; z++)
                {
                    nombreIntermedios.Add(ParadaFacade.nombresIntermediosByRecorridos(listadoId[z].id));
                }

                int largo = listadoId.Count - 1;
                this.gridAgregarViajes.ColumnDefinitions[0].Width = new System.Windows.GridLength(500);
                this.gridAgregarViajes.ColumnDefinitions[1].Width = new System.Windows.GridLength(80);
                for (int z = 0; z <= largo; z++)
                {
                    this.gridAgregarViajes.RowDefinitions.Add(new RowDefinition());
                    this.gridAgregarViajes.RowDefinitions[z].Height = new System.Windows.GridLength(40);
                }
                this.gridAgregarViajes.RowDefinitions[gridAgregarViajes.RowDefinitions.Count - 1].Height = new System.Windows.GridLength(40);
                int     contador = 0;
                TextBox texto;
                for (int row = 1; row < this.gridAgregarViajes.RowDefinitions.Count; row++)
                {
                    for (int col = 0; col < this.gridAgregarViajes.ColumnDefinitions.Count; col++)
                    {
                        if (col == 0)
                        {
                            texto       = new TextBox();
                            texto.Style = Resources["ItemTablaGuion"] as Style;

                            texto.Text = nombreIntermedios[contador];
                            texto.SetValue(Grid.ColumnProperty, col);
                            texto.SetValue(Grid.RowProperty, row);
                            texto.IsReadOnly = true;
                            this.gridAgregarViajes.Children.Add(texto);
                        }

                        if (col == 1)
                        {
                            BitmapImage btm = new BitmapImage(new Uri("/SmarTravel_Final;component/Images/crear.png", UriKind.Relative));
                            Image       img = new Image();
                            img.Source  = btm;
                            img.Stretch = Stretch.Fill;
                            img.Width   = 50;
                            img.Height  = 30;
                            Button bIngreso = new Button();
                            bIngreso.Click  += new RoutedEventHandler(bIngreso_Click);
                            bIngreso.Content = img;
                            bIngreso.Tag     = Convert.ToString(contador);
                            bIngreso.SetValue(Grid.ColumnProperty, col);
                            bIngreso.SetValue(Grid.RowProperty, row);
                            this.gridAgregarViajes.Children.Add(bIngreso);
                        }
                    }
                    contador++;
                }
            }
        }