/// <summary> /// Remueve un vehiculo del listado, si es que se encuentra /// </summary> /// <param name="concecionaria"></param> /// <param name="vehiculo"></param> /// <returns></returns> public static Concecionaria operator -(Concecionaria concecionaria, Vehiculo vehiculo) { Concecionaria nuevaConcecionaria = new Concecionaria(concecionaria._espacioDisponible); foreach (Vehiculo item in concecionaria._vehiculos) { if (item != vehiculo) { nuevaConcecionaria._vehiculos.Add(item); } } return(nuevaConcecionaria); }
/// <summary> /// Retorna un string con el espacio disponible, el espacio ocupado y las caracteristicas de los vehiculos del listado que coincidan con el paramatro tipoDeVehiculo /// </summary> /// <param name="concecionaria"></param> /// <param name="tipoDeVehiculo"></param> /// <returns></returns> public string Mostrar(Concecionaria concecionaria, ETipo tipoDeVehiculo) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("Tenemos " + concecionaria._vehiculos.Count + " lugares ocupados de un total de " + concecionaria._espacioDisponible + " disponibles"); 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()); }