/// <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 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: sb.AppendLine(v.Mostrar()); break; case ETipo.Moto: sb.AppendLine(v.Mostrar()); break; case ETipo.Camion: sb.AppendLine(v.Mostrar()); break; default: sb.AppendLine(v.Mostrar()); break; } } return(sb); }
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()); }
/// <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) { ///Se switchea por el tipo de vehiculo y se muestra solo los vehiculos que correspondan switch (tipoDeVehiculo) { case ETipo.Automovil: if (v is Automovil) { sb.AppendLine(v.Mostrar()); } break; case ETipo.Moto: if (v is Moto) { sb.AppendLine(v.Mostrar()); } break; case ETipo.Camion: if (v is Camion) { sb.AppendLine(v.Mostrar()); } break; default: sb.AppendLine(v.Mostrar()); break; } } return(sb.ToString()); }
/// <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) //Se agrega validacion necesaria para discernir cual es el vehiculo { case ETipo.Automovil: if (v.CantidadRuedas == 4) { sb.AppendLine(v.Mostrar()); } break; case ETipo.Moto: if (v.CantidadRuedas == 2) { sb.AppendLine(v.Mostrar()); } break; case ETipo.Camion: if (v.CantidadRuedas == 8) { sb.AppendLine(v.Mostrar()); } break; default: sb.AppendLine(v.Mostrar()); break; } } return(sb.ToString()); //Se castea a string }
/// <summary> /// Muestro la concecionaria y TODOS los vehículos /// </summary> /// <returns></returns> public string ToString() { return(Concecionaria.Mostrar(this, ETipo.Todos)); }
/// <summary> /// Muestro la concecionaria y TODOS los vehículos /// </summary> /// <returns></returns> public override string ToString() //Se sobrescribe el metodo padre { return(Concecionaria.Mostrar(this, ETipo.Todos)); }
/// <summary> /// Muestro la concecionaria y TODOS los vehículos /// </summary> /// <returns></returns> public override string ToString() // quitar override { return(Concecionaria.Mostrar(this, ETipo.Todos)); }