public Recorridos getRecorrido(Int32 codRecorrido) { Recorridos recorrido = null; SqlConnection conexion = SqlGeneral.nuevaConexion(); try { SqlCommand consulta = new SqlCommand("SELECT cod_recorrido, habilitado FROM MLJ.Recorridos WHERE cod_recorrido = @cod", conexion); consulta.Parameters.Add(new SqlParameter("@cod", codRecorrido)); conexion.Open(); SqlDataReader recorridosResult = consulta.ExecuteReader(); while (recorridosResult.Read()) { recorrido = new Recorridos(recorridosResult.GetInt32(0), recorridosResult.GetBoolean(1), getTramosRecorrido(recorridosResult.GetInt32(0))); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { conexion.Close(); } return(recorrido); }
protected void btnCrearColectivo_Click(object sender, EventArgs e) { lblMensaje.Visible = true; try { if (txtPatenteColectivo.Text.Equals("") || txtMotorColectivo.Text.Equals("") || ddlModeloColectivo.SelectedIndex == 0 || ddlRecorrido.SelectedIndex == 0) { throw new Exception("Ingrese todos los datos del vehiculo"); } string patente = txtPatenteColectivo.Text; Modelos modelo = (Modelos)Enum.Parse(typeof(Modelos), ddlModeloColectivo.SelectedValue); double motor = double.Parse(txtMotorColectivo.Text); Recorridos recorrido = (Recorridos)Enum.Parse(typeof(Recorridos), ddlRecorrido.SelectedValue); Colectivo objColectivo = new Colectivo(recorrido, patente, modelo, motor); if (ControladorVehiculos.addVehiculo(objColectivo)) { lblMensaje.Text = "Se agrego el colectivo"; limpiarCamposColectivo(); } else { lblMensaje.Text = "Ya existe un vehiculo con esa patente"; } } catch (Exception ex) { lblMensaje.Text = "Error: " + ex.Message; } }
/// <summary> /// Menu mostrado despues de mostrar los arboles almacenados. /// </summary> /// <param name="Lista">Lista en la cual se almacenan los arboles</param> static public void MenuMostrar(Lista_Enlazad Lista) { Console.Clear(); Console.Title = "Menu Mostrar"; Lista_Enlazad.Mostrar(Lista); bool rep = false; if (!Lista_Enlazad.Verifica_Vacia(Lista)) { Console.Write("Escriba el nombre de un arbol: "); string nombre = Console.ReadLine(); if (Lista_Enlazad.Existe(Lista, nombre)) { do { NodoArbol node = Lista_Enlazad.Solicitar(Lista, nombre); Console.Clear(); if (Recorridos.DetectaTipo(node) == typeof(Int32) || Recorridos.DetectaTipo(node) == null) { MenuMostrar_C2(ref node, nombre); } else { MenuMostrar_C1(node, nombre); } } while (rep); } } }
public void actualizarRecorrido(Recorridos recorrido) { SqlConnection conexion = SqlGeneral.nuevaConexion(); conexion.Open(); SqlTransaction transaction = conexion.BeginTransaction(); SqlCommand comando2 = new SqlCommand("", conexion, transaction); SqlCommand actualizarHabilitado = new SqlCommand("UPDATE MLJ.Recorridos SET habilitado = @habilitado WHERE cod_recorrido = @codRecorrido", conexion, transaction); actualizarHabilitado.Parameters.AddWithValue("@codRecorrido", recorrido.idRecorrido); actualizarHabilitado.Parameters.AddWithValue("@habilitado", recorrido.estado); SqlCommand borrarTramos = new SqlCommand("DELETE FROM MLJ.Tramos WHERE cod_recorrido = @codRecorrido", conexion, transaction); borrarTramos.Parameters.AddWithValue("@codRecorrido", recorrido.idRecorrido); try { actualizarHabilitado.ExecuteNonQuery(); borrarTramos.ExecuteNonQuery(); comando2.Parameters.AddWithValue("@codRecorrido", recorrido.idRecorrido); int i = 0; foreach (Tramos tramo in recorrido.tramos) { comando2.CommandText = "INSERT INTO MLJ.Tramos (cod_recorrido,nro_tramo,cod_puerto_salida,cod_puerto_llegada,costo) VALUES (@codRecorrido,@nroTramo" + i + ",@codPuertoSalida" + i + ",@codPuertoLlegada" + i + ",@costo" + i + ")"; comando2.Parameters.AddWithValue("@nroTramo" + i, tramo.nroTramo); comando2.Parameters.AddWithValue("@codPuertoSalida" + i, tramo.puertoSalida.codPuerto); comando2.Parameters.AddWithValue("@codPuertoLlegada" + i, tramo.puertoLlegada.codPuerto); comando2.Parameters.AddWithValue("@costo" + i, tramo.costoTramo); comando2.ExecuteNonQuery(); i++; } transaction.Commit(); conexion.Close(); } catch (Exception ex) { transaction.Rollback(); conexion.Close(); throw ex; } }
public void eliminarLogico(Recorridos recorrido) { SqlConnection conexion = SqlGeneral.nuevaConexion(); conexion.Open(); SqlTransaction transaction = conexion.BeginTransaction(); try { SqlCommand comando = new SqlCommand("UPDATE MLJ.Recorridos SET habilitado = 0 WHERE cod_recorrido = @codRecorrido", conexion, transaction); comando.Parameters.AddWithValue("@codRecorrido", recorrido.idRecorrido); comando.ExecuteNonQuery(); transaction.Commit(); conexion.Close(); } catch (Exception ex) { transaction.Rollback(); conexion.Close(); throw ex; } }
private void recorrido_Click(object sender, EventArgs e) { Recorridos r = new Recorridos(); r.ShowDialog(); }
/// <summary> /// Menu en caso de todos los datos del arbol sean enteros /// </summary> /// <param name="node">Arbol el cual se va manipular</param> /// <param name="nombre">nombre del arbol para mostrar al usuario</param> static public void MenuMostrar_C2(ref NodoArbol node, string nombre) { bool rep = false; do { Console.Clear(); Console.Title = $"Arbol {nombre}"; Console.WriteLine("1.- Mostrar Datos del Arbol"); Console.WriteLine("2.- Insertar nodo"); Console.WriteLine("3.- Eliminar nodo"); Console.WriteLine("4.- Buscar nodo en el arbol"); Console.WriteLine("5.- Buscar padre"); Console.WriteLine("6.- Recorrido PreOrden"); Console.WriteLine("7.- Recorrido InOrden"); Console.WriteLine("8.- Recorrido PostOrden"); Console.WriteLine("9.- Salir del Menu Actual"); Console.WriteLine("10.- Salir del Programa"); try { switch (int.Parse(Console.ReadLine())) { case 1: Console.Clear(); ABB.Transversa(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 2: var valor = MenuInsercionInt(); node = ABB.Insertar(valor, node); rep = true; break; case 3: Console.WriteLine("Que valor desea eliminar?"); ABB.BorrarNodo(int.Parse(Console.ReadLine()), node); rep = true; break; case 4: Console.Clear(); Console.Write("Valor a buscar: \t"); int valor2 = int.Parse(Console.ReadLine()); if (Recorridos.Resultado_Buscar(node, valor2)) { NodoArbol nodoBuscado = Recorridos.Buscar(node, valor2); string mensaje = $"El elemento {nodoBuscado.Valor} si existe; "; if (nodoBuscado.Izq != null) { mensaje += $"su hijo izquierdo es {nodoBuscado.Izq.Valor}"; } else { mensaje += "su hijo izquierdo es null"; } if (nodoBuscado.Der != null) { mensaje += $", su hijo derecho es {nodoBuscado.Der.Valor}"; } else { mensaje += $", su hijo derecho es null"; } Console.WriteLine(mensaje); } else { Console.WriteLine("El elemento no existe"); } Console.ReadKey(); rep = true; break; case 5: Console.Clear(); Console.Write("Valor a evaluar: \t"); int valor3 = int.Parse(Console.ReadLine()); if (Recorridos.Resultado_Buscar(node, valor3)) { NodoArbol result = ABB.BuscarPadre(valor3, node); if (result == null) { Console.WriteLine($"El valor {valor3} es la raiz"); } else { Console.WriteLine($"El padre de {valor3} es {result.Valor}"); } } else { Console.WriteLine("El elemento no existe"); } Console.ReadKey(); rep = true; break; case 6: Recorridos.PreOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 7: Recorridos.InOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 8: Recorridos.PostOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 9: rep = false; break; case 10: Environment.Exit(0); break; default: Console.WriteLine("Ingrese una opcion valida"); rep = true; break; } } catch (System.FormatException) { Console.WriteLine("Ingrese un valor numerico"); } } while (rep); }
/// <summary> /// Menu para arboles que no contienen datos enteros /// </summary> /// <param name="node">Arbol el cual se va manipular</param> /// <param name="nombre">nombre del arbol para mostrar al usuario</param> static public void MenuMostrar_C1(NodoArbol node, string nombre) { bool rep = false; do { Console.Clear(); Console.Title = $"Arbol {nombre}"; Console.WriteLine("1.- Mostrar Datos del Arbol"); Console.WriteLine("2.- Recorrido PreOrden"); Console.WriteLine("3.- Recorrido InOrden"); Console.WriteLine("4.- Recorrido PostOrden"); Console.WriteLine("5.- Salir del menu actual"); Console.WriteLine("6.- Salir del programa"); try { switch (int.Parse(Console.ReadLine())) { case 1: ABB.Transversa(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 2: Recorridos.PreOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 3: Recorridos.InOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 4: Recorridos.PostOrden(node); System.Threading.Thread.Sleep(2000); rep = true; break; case 5: rep = false; break; case 6: Environment.Exit(0); break; default: Console.WriteLine("Elija una opcion valida"); rep = true; break; } } catch (System.FormatException) { Console.WriteLine("Ingrese un valor numerico"); rep = true; } } while (rep); }
private void Init() { this._CodigoColectivo = string.Empty; this._Recorrido = Recorridos.SELECCIONE; }
public Colectivo(Recorridos recorridos, string patente, Modelos modelo, double potencia) : base(patente, modelo, potencia) { this._CodigoColectivo = generarCodigo(); this.Recorrido = recorridos; }
static void Main(string[] args) { do { try { switch (Menus.MenuPricipal(ref Lista)) { case 1: Menus.MenuCrear(ref Lista); break; case 2: Menus.MenuMostrar(Lista); break; case 3: NodoArbol arbol = Recorridos.CrearArbolPrueba_1(); NodoLista arb = new NodoLista(arbol, $"Arbol de Prueba #{cont + 1}"); Lista.InsertarALaCabeza(arb); cont++; rep = true; break; case 4: NodoArbol arbol1 = Recorridos.CrearArbolPrueba_2(); NodoLista arb1 = new NodoLista(arbol1, $"Arbol de Prueba #{cont + 1}"); Lista.InsertarALaCabeza(arb1); cont++; rep = true; break; case 5: NodoArbol arbol2 = Recorridos.CrearArbolPrueba_3(); NodoLista arb2 = new NodoLista(arbol2, $"Arbol de Prueba #{cont + 1}"); Lista.InsertarALaCabeza(arb2); cont++; rep = true; break; case 6: Console.Clear(); Console.Title = "Información del Programa"; Console.WriteLine("Materia: Estructura de Datos"); Console.WriteLine("Docente: ING. NANCY GABRIELA MARÍN CASTAÑEDA"); Console.WriteLine("Tercer Semestre | Grupo A | Agosto - Diciembre"); Console.WriteLine("Programa hecho por:"); Console.WriteLine("\t Victor Hugo Carreon Pulido - 192310436"); Console.WriteLine("\t Andrea Evelyn Mejia Rubio - 192310177"); Console.WriteLine("\t Edgar Eduardo Arguijo Vazquez - 192310252"); Console.ReadKey(); rep = true; break; case 7: Environment.Exit(0); break; } } catch (System.FormatException) { Console.WriteLine("Ingrese un valor numerico"); } } while (rep); }