static Lavadero OrdenarLista(Lavadero lavadero) { Vehiculo aux; for (int i = 0; i < (lavadero.Vehiculos.Count) - 1; i++) { for (int j = i + 1; (j < lavadero.Vehiculos.Count); j++) { if ((Lavadero.CompararMarca(lavadero.Vehiculos[i], lavadero.Vehiculos[j]) == 1)) { aux = lavadero.Vehiculos[i]; lavadero.Vehiculos[i] = lavadero.Vehiculos[j]; lavadero.Vehiculos[j] = aux; } else if ((Lavadero.CompararMarca(lavadero.Vehiculos[i], lavadero.Vehiculos[j]) == 0)) { if ((Lavadero.CompararPatente(lavadero.Vehiculos[i], lavadero.Vehiculos[j]) == 1)) { aux = lavadero.Vehiculos[i]; lavadero.Vehiculos[i] = lavadero.Vehiculos[j]; lavadero.Vehiculos[j] = aux; } } } } return(lavadero); }
static void Main(string[] args) { Enumeraciones.EVehiculo tipo; bool continuar = true; int option = 0; Lavadero lavadero = new Lavadero(10000, 20000, 5000); #region HARDCODEO Auto auto1 = new Auto(5, 3, 2, "ABC123", 4, Enumeraciones.EMarca.Fiat); Auto auto2 = new Auto(5, 2, 3, "REW456", 4, Enumeraciones.EMarca.Ford); Auto auto3 = new Auto(5, 2, 3, "TRE654", 4, Enumeraciones.EMarca.Fiat); Moto moto1 = new Moto(1, 3, 4, "FDS654", 2, Enumeraciones.EMarca.Honda); Moto moto2 = new Moto(1, 2, 4, "GFD753", 2, Enumeraciones.EMarca.Zanella); Moto moto3 = new Moto(1, 2, 3, "UIO098", 2, Enumeraciones.EMarca.Honda); Camion camion1 = new Camion(3, 5, 6, "TRE456", 8, Enumeraciones.EMarca.Honda); Camion camion2 = new Camion(3, 5, 5, "TRE456", 12, Enumeraciones.EMarca.Iveco); Camion camion3 = new Camion(3, 5, 6, "TRE456", 8, Enumeraciones.EMarca.Scania); lavadero = lavadero + auto1; lavadero = lavadero + auto2; lavadero = lavadero + auto3; lavadero = lavadero + moto1; lavadero = lavadero + moto2; lavadero = lavadero + moto3; lavadero = lavadero + camion1; lavadero = lavadero + camion2; lavadero = lavadero + camion3; #endregion HARDCODEO do { Console.WriteLine("****************************"); // Menú Console.WriteLine("1 - Ingresar vehiculo"); Console.WriteLine("2 - Retirar vehiculo"); Console.WriteLine("3 - Ver ganancias totales"); Console.WriteLine("4 - Ver ganancias por tipo de vehiculo"); Console.WriteLine("5 - Ver vehiculos ingresados al lavadero"); Console.WriteLine("0 - Salir"); Console.Write("\nIngrese una opcion: "); if (!(int.TryParse(Console.ReadLine(), out option))) { continue; } switch (option) { case 1: Console.Write("\n1. Auto.\n2. Moto.\n3. Camion.\nInresar tipo de vehiculo: "); if (!(Enumeraciones.EVehiculo.TryParse(Console.ReadLine(), out tipo))) { continue; } Vehiculo vehiculo = PedirDatos(tipo); if (!(lavadero == vehiculo)) { lavadero = lavadero + vehiculo; } else { Console.WriteLine("El auto ya se encuentra ingresado"); Console.ReadLine(); } break; case 2: vehiculo = RetirarVehiculo(); if (lavadero == vehiculo) { foreach (Vehiculo ve in lavadero.Vehiculos) { if (ve == vehiculo) { vehiculo = ve; break; } } lavadero = lavadero - vehiculo; } else { Console.WriteLine("El auto ya fue retirado o nunca se ingresó."); Console.ReadLine(); } break; case 3: Console.WriteLine("Total facturado: " + lavadero.MostrarTotalFacturado()); Console.ReadKey(); break; case 4: Console.WriteLine("Ingrese tipo de vehiculo: "); if (!(Enumeraciones.EVehiculo.TryParse(Console.ReadLine(), out tipo))) { continue; } Console.WriteLine(lavadero.MostrarTotalFacturado(tipo)); Console.ReadKey(); break; case 5: lavadero = OrdenarLista(lavadero); Console.WriteLine(lavadero.LavaderoDatos); Console.ReadKey(); break; case 0: continuar = false; break; } Console.Clear(); } while (continuar); }