//seleccion del recorrido y alta del mismo public void altaDeRecorrido(Recorrido recorrido) { //copia de todos los recorridos para uso de seleccion ArrayList copiaDeTerminales = new ArrayList(); for (int i = 0; i < terminales.Count; i++) { copiaDeTerminales.Add(terminales[i]); } //seleccion y alta de recorrido recorrido.altaDeRecorrido(copiaDeTerminales); recorridos.Add(recorrido); imprimirAbajo("El recorrido se ha dado de alta correctamente"); imprimirAbajo("Presione una Enter para continuar."); }
//constructor public Venta(Usuario usuario, Recorrido itinerario, int cant_pasajes) { this.usuario = usuario; this.cant_pasajes = cant_pasajes; this.itinerario = itinerario; }
public static void Main(string[] args) { Micritos micritos = new Micritos(); Console.Write("********************************************************************************"); Console.Write("***** Micritos *****"); Console.Write("********************************************************************************"); // MENU PRINCIPAL menuPrincipal(); string eleccion = Console.ReadLine(); while (eleccion != "4") { try{ switch ((eleccion)) { case "1": { Console.Clear(); //SUB MENU DE ARMADO DE RECORRIDOS titulo(); menuArmadoRecorrido(); string eleccion1 = Console.ReadLine(); while (eleccion1 != "4") { try{ switch (eleccion1) { case "1": { //ALTA DE TERMINALES imprimirAbajo(""); micritos.altaDeTerminal(); Console.ReadLine(); Console.Clear(); titulo(); menuArmadoRecorrido(); break; } case "2": { //ALTA DE OMNIBUS imprimirAbajo(""); micritos.altaDeOmnibus(); Console.ReadLine(); Console.Clear(); titulo(); menuArmadoRecorrido(); break; } case "3": { //ALTA DE RECORRIDOS Console.Clear(); Recorrido R = new Recorrido(); micritos.altaDeRecorrido(R); Console.ReadLine(); Console.Clear(); titulo(); menuArmadoRecorrido(); break; } } if (int.Parse(eleccion1) > 4) { throw new ArgumentOutOfRangeException(); } } catch (ArgumentOutOfRangeException) { Console.WriteLine("La opción ingresada es incorrecta"); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } catch (FormatException) { Console.WriteLine("El valor ingresado es invalido"); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } catch (marcaYModeloInvalido b) { imprimirAbajo(b.Mensaje); imprimirAbajo("Presione ENTER para continuar."); Console.ReadLine(); } Console.Clear(); titulo(); menuArmadoRecorrido(); eleccion1 = Console.ReadLine(); } } titulo(); menuPrincipal(); break; case "2": { //SUB MENU GESTION DE CHOFERES Console.Clear(); titulo(); menuGestionDeChoferes(); string eleccion2 = Console.ReadLine(); while (eleccion2 != "3") { try{ switch (eleccion2) { case "1": { //ALTA DE CHOFERES imprimirAbajo(""); micritos.altaDeChofer(); Console.ReadLine(); Console.Clear(); titulo(); menuGestionDeChoferes(); break; } case "2": { // ASIGNAR RECORRIDO Console.Clear(); imprimirAbajo(""); micritos.asignarRecorrido(); Console.ReadLine(); Console.Clear(); titulo(); menuGestionDeChoferes(); break; } } if (int.Parse(eleccion2) > 3) { throw new ArgumentOutOfRangeException(); } } catch (ArgumentOutOfRangeException) { Console.WriteLine("La opción ingresada es incorrecta"); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } catch (FormatException) { Console.WriteLine("El valor ingresado es invalido"); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } Console.Clear(); titulo(); menuGestionDeChoferes(); eleccion2 = Console.ReadLine(); } titulo(); menuPrincipal(); break; } case "3": { //sub menu de ventas de pasajes Console.Clear(); titulo(); menuVentaDePasajes(); string eleccion_3 = Console.ReadLine(); while (eleccion_3 != "3") { try{ switch (eleccion_3) { case "1": { //ALTA DE USUARIOS imprimirAbajo(""); micritos.altaDeUsuario(); Console.ReadLine(); Console.Clear(); titulo(); menuVentaDePasajes(); break; } case "2": //VENTA DE PASAJES { imprimirAbajo(""); micritos.comprarPasaje(); Console.ReadLine(); Console.Clear(); titulo(); menuVentaDePasajes(); break; } } if (int.Parse(eleccion_3) > 3) { throw new ArgumentOutOfRangeException(); } } catch (ArgumentOutOfRangeException) { Console.WriteLine("La opción ingresada es incorrecta"); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } catch (FormatException) { Console.WriteLine("El valor ingresado es invalido"); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } Console.Clear(); titulo(); menuVentaDePasajes(); eleccion_3 = Console.ReadLine(); } titulo(); menuPrincipal(); break; } } if (int.Parse(eleccion) > 5) { throw new ArgumentOutOfRangeException(); } } catch (ArgumentOutOfRangeException) { Console.WriteLine("La opcion ingresada es incorrecta"); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } catch (FormatException) { Console.WriteLine("No ah ingresado ninguna opción."); Console.WriteLine("Presione ENTER para continuar"); Console.ReadLine(); } catch (Exepciones) { Console.WriteLine("Ah ocurrido un error inesperado."); Console.WriteLine("Presione Enter para continuar."); Console.ReadLine(); } Console.Clear(); menuPrincipal(); eleccion = Console.ReadLine(); menuPrincipal(); } }
private void agregarRecorrido(Recorrido recorrido) { recorridos.Add(recorrido); }
public void comprarPasaje() { imprimirAbajo("Ingrese el número de usuario"); int nro_de_usuario = int.Parse(Console.ReadLine()); imprimirAbajo("Ingrese el DNI"); int dni = int.Parse(Console.ReadLine()); if (noExisteUsiario(dni)) { imprimirAbajo("No existe un Usuario con ese DNI en la empresa"); imprimirAbajo("presione ENTER para continuar."); } else { Usuario usuario = compraUsuario(dni, nro_de_usuario); Console.Clear(); titulo(); // imprimo las terminales de partida verificando que ninguna se repita ArrayList terminales_de_partida = new ArrayList(); imprimirAbajo("seleccione la terminal de partida"); imprimirAbajo(""); int k = 1; for (int i = 0; i < recorridos_asignados.Count; i++) { Recorrido recorrido = ((Recorrido)recorridos_asignados[i]); if (!partidaRepetida(((Terminal)recorrido.Terminales_del_recorrido[0]), terminales_de_partida)) { terminales_de_partida.Add((Terminal)recorrido.Terminales_del_recorrido[0]); Console.WriteLine(k + ")" + (Terminal)recorrido.Terminales_del_recorrido[0]); k++; } } //selecciono la terminal de partida int partida_seleccionada = int.Parse(Console.ReadLine()); Terminal terminal_de_partida = (Terminal)((Recorrido)recorridos_asignados[partida_seleccionada - 1]).Terminales_del_recorrido[0]; Console.Clear(); titulo(); //imprimo las terminales de arribo verificando que ninguna se repita ArrayList terminales_de_arribo = new ArrayList(); imprimirAbajo("seleccione la terminal de arribo"); imprimirAbajo(""); int j = 1; for (int i = 0; i < recorridos_asignados.Count; i++) { Recorrido recorrido = ((Recorrido)recorridos_asignados[i]); if (!arriboRepetido(((Terminal)recorrido.Terminales_del_recorrido[(recorrido.Terminales_del_recorrido).Count - 1]), terminales_de_arribo)) { terminales_de_arribo.Add((Terminal)recorrido.Terminales_del_recorrido[(recorrido.Terminales_del_recorrido).Count - 1]); Console.WriteLine(j + ")" + (Terminal)recorrido.Terminales_del_recorrido[(recorrido.Terminales_del_recorrido).Count - 1]); j++; } } //selecciono terminal de arribo int arribo_seleccionado = int.Parse(Console.ReadLine()); Recorrido R = ((Recorrido)recorridos_asignados[arribo_seleccionado - 1]); Terminal terminal_de_arribo = (Terminal)(R).Terminales_del_recorrido[(R.Terminales_del_recorrido).Count - 1]; // verifico que la terminal de partida y arribo no sean las mismas. if (terminal_de_partida.Nombre == terminal_de_arribo.Nombre && terminal_de_partida.Ciudad_Donde_Se_Encuentra == terminal_de_partida.Ciudad_Donde_Se_Encuentra) { imprimirAbajo("La terminal de partida y arribo es las mismas"); imprimirAbajo("Precione ENTER para continuar"); } else { Console.Clear(); titulo(); if (!existeItinerario(terminal_de_partida, terminal_de_arribo)) { imprimirAbajo("No existe ningun recorrido con las terminales de partida solicitadas."); imprimirAbajo("Presione ENTER para continuar."); } else { ArrayList itinerario = itinerarios(terminal_de_partida, terminal_de_arribo); int m = 1; for (int i = 0; i < itinerario.Count; i++) { int cant_paradas_intermedia = ((Recorrido)itinerario[i]).Terminales_del_recorrido.Count - 2; string dia = ((Recorrido)itinerario[i]).Dia; string modelo = ((Omnibus)(((Recorrido)itinerario[i]).Omnibus)).Tipo; Console.WriteLine(m + ") Saliendo de " + terminal_de_partida.Ciudad_Donde_Se_Encuentra + " y llegando a " + terminal_de_arribo.Ciudad_Donde_Se_Encuentra + "(" + cant_paradas_intermedia + " paradas intermedias, " + dia + ", " + modelo + ")"); m++; } int seleccion_itinerario = int.Parse(Console.ReadLine()); Recorrido itinerario_seleccionado = (Recorrido)itinerario[seleccion_itinerario - 1]; imprimirAbajo("¿Cuantos pasajes desea?"); int pasajes = int.Parse(Console.ReadLine()); ventas.Add(new Venta(usuario, itinerario_seleccionado, pasajes)); imprimirAbajo("La venta se a realizado con exito."); imprimirAbajo("Presione ENTER para continuar."); } } } }
public void asignarRecorrido() { //muestras ,solicitud y guardado en temporal de: //Choferes: titulo(); imprimirAbajo(""); imprimirAbajo("Seleccione el chofer"); imprimirAbajo(""); int j = 1; for (int i = 0; i < choferes.Count; i++) { imprimirAbajo(j + ") " + choferes[i]); j++; } int seleccion_chofer = int.Parse(Console.ReadLine()); Chofer chofer = (Chofer)choferes[seleccion_chofer - 1]; Console.Clear(); //Omnibus: titulo(); imprimirAbajo(""); imprimirAbajo("Seleccione el ómnibus"); imprimirAbajo(""); int l = 1; for (int i = 0; i < omnibus.Count; i++) { imprimirAbajo(l + ") " + omnibus[i]); l++; } int seleccion_omnibus = int.Parse(Console.ReadLine()); Omnibus ómnibus = (Omnibus)omnibus[seleccion_omnibus - 1]; Console.Clear(); //Recorrido titulo(); imprimirAbajo(""); imprimirAbajo("Seleccione el recorrido"); imprimirAbajo(""); int m = 1; for (int i = 0; i < recorridos.Count; i++) { imprimirAbajo(m + ") " + recorridos[i]); m++; } int seleccion_recorrido = int.Parse(Console.ReadLine()); Recorrido recorrido = (Recorrido)recorridos[seleccion_recorrido - 1]; Console.Clear(); //Dia string[] dias = new string[] { "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingos" }; titulo(); imprimirAbajo(""); imprimirAbajo("Seleccione el día donde hacer el recorrido"); imprimirAbajo(""); int k = 1; for (int i = 0; i < dias.Length; i++) { imprimirAbajo(k + ") " + dias[i]); k++; } int seleccion_dia = int.Parse(Console.ReadLine()); string dia = dias[seleccion_dia - 1]; if (omnibusOcupado(ómnibus, dia)) { imprimirAbajo(""); imprimirAbajo("El ómnibus ya está reservado ese diá"); imprimirAbajo("Presione ENTER para continuar"); } else if (choferOcupado(chofer, dia)) { imprimirAbajo(""); imprimirAbajo("El chofer ya hace un viaje ese día"); imprimirAbajo("Presione ENTER para continuar"); } else { //((Recorrido)Temporal[2]).Chofer=c; recorridos_asignados.Add(new Recorrido(chofer, ómnibus, dia, recorrido.Terminales_del_recorrido)); //Recorrido R=(Recorrido)recorridos_asignados[recorridos_asignados.Count-1]; imprimirAbajo(""); imprimirAbajo("La asignación de recorrido fue dada de alta correctamente."); imprimirAbajo("Presione ENTER para continuar."); } }