static void Main(string[] args) { Concecionaria concecionaria = new Concecionaria(5); Camion c1 = new Camion(EMarca.Scania, "ASD012", ConsoleColor.Black); Camion c2 = new Camion(EMarca.Iveco, "ASD913", ConsoleColor.Red); Moto m1 = new Moto(EMarca.BMW, "HJK789", ConsoleColor.White); Moto m2 = new Moto(EMarca.Yamaha, "IOP852", ConsoleColor.Blue); Automovil a1 = new Automovil(EMarca.Chevrolet, "QWE968", ConsoleColor.Gray); Automovil a2 = new Automovil(EMarca.Ford, "TYU426", ConsoleColor.DarkBlue); Automovil a3 = new Automovil(EMarca.Scania, "IOP852", ConsoleColor.Green); // Agrego 6 ítems (los últimos 2 no deberían poder agregarse) y muestro concecionaria += c1; concecionaria += c2; concecionaria += m1; concecionaria += m2; concecionaria += a1; concecionaria += a2; concecionaria += a3; Console.WriteLine(concecionaria.ToString()); Console.WriteLine("<---------------------------------------------->"); Console.ReadKey(); Console.Clear(); // Quito un item y muestro concecionaria -= c1; Console.WriteLine(concecionaria.ToString()); Console.WriteLine("<---------------------------------------------->"); Console.ReadKey(); Console.Clear(); // Muestro solo Motos Console.WriteLine(Concecionaria.Mostrar(concecionaria, Concecionaria.ETipo.Moto)); Console.WriteLine("<---------------------------------------------->"); Console.ReadKey(); Console.Clear(); // Muestro solo Camiones Console.WriteLine(Concecionaria.Mostrar(concecionaria, Concecionaria.ETipo.Camion)); Console.WriteLine("<---------------------------------------------->"); Console.ReadKey(); Console.Clear(); // Muestro solo Automoviles Console.WriteLine(Concecionaria.Mostrar(concecionaria, Concecionaria.ETipo.Automovil)); Console.WriteLine("<---------------------------------------------->"); Console.ReadKey(); }
/// <summary> /// Expone los datos de la concecionaria y sus vehículos (incluidas sus herencias) /// SOLO del tipo requerido /// </summary> /// <param name="concecionaria">Concecionaria a exponer</param> /// <param name="ETipo">Tipos de Vehiculos a mostrar</param> /// <returns></returns> public static string Mostrar(Concecionaria concecionaria, ETipo tipoDeVehiculo) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", concecionaria._vehiculos.Count, concecionaria._espacioDisponible); sb.AppendLine(""); foreach (Vehiculo v in concecionaria._vehiculos) { switch (tipoDeVehiculo) { case ETipo.Automovil: if (v is Automovil) { sb.AppendLine(((Automovil)v).Mostrar()); } break; case ETipo.Moto: if (v is Moto) { sb.AppendLine(((Moto)v).Mostrar()); } break; case ETipo.Camion: if (v is Camion) { sb.AppendLine(((Camion)v).Mostrar()); } break; default: if (v is Automovil) { sb.AppendLine(((Automovil)v).Mostrar()); } if (v is Moto) { sb.AppendLine(((Moto)v).Mostrar()); } if (v is Camion) { sb.AppendLine(((Camion)v).Mostrar()); } break; } } return(sb.ToString()); }