/// <summary> /// Método que agrega un vehículo a la lista de vehículos vendidos de la base de datos /// </summary> /// <returns></returns> public bool AgregarVehiculoVendido(Vehiculo vehiculo) { bool pudoAgregar = true; try { string sql = string.Empty; int bit = 0; if (vehiculo is Auto) { Auto a = vehiculo as Auto; if (a.EsUsado) { bit = 1; } sql = $"INSERT INTO VEHICULOS_VENDIDOS (CHASIS, MODELO, COLOR, USADO, ORIGEN, PRECIO) VALUES ({a.NroChasis}, '{a.Modelo.ToString()}', '{a.Color.ToString()}', {bit}, 'NULL', {a.PrecioVenta})"; } else { Suv s = vehiculo as Suv; if (s.EsUsado) { bit = 1; } sql = $"INSERT INTO VEHICULOS_VENDIDOS (CHASIS, MODELO, COLOR, USADO, ORIGEN, PRECIO) VALUES ({s.NroChasis}, '{s.Modelo.ToString()}', '{s.Color.ToString()}', {bit}, '{s.Origen.ToString()}', {s.PrecioVenta})"; } this.command = new SqlCommand(); this.command.CommandType = CommandType.Text; this.command.CommandText = sql; this.command.Connection = this.connection; this.connection.Open(); int filasAfectadas = this.command.ExecuteNonQuery(); if (filasAfectadas == 0) { pudoAgregar = false; } } catch (Exception) { pudoAgregar = false; } finally { if (this.connection.State == ConnectionState.Open) { this.connection.Close(); } } return(pudoAgregar); }
/// <summary> /// Expone los datos del elemento y su lista (incluidas sus herencias) /// SOLO del tipo requerido /// </summary> /// <param name="taller">Elemento a exponer</param> /// <param name="ETipo">Tipos de ítems de la lista a mostrar</param> /// <returns></returns> public static string Listar(Taller taller, ETipo tipo) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", taller.vehiculos.Count, taller.espacioDisponible); sb.AppendLine(""); foreach (Vehiculo v in taller.vehiculos) { switch (tipo) { case ETipo.SUV: if (v is Suv) { Suv suv = (Suv)v; sb.AppendLine(suv.Mostrar()); break; } else { continue; } case ETipo.Ciclomotor: if (v is Ciclomotor) { Ciclomotor ciclomotor = (Ciclomotor)v; sb.AppendLine(ciclomotor.Mostrar()); break; } else { continue; } case ETipo.Sedan: if (v is Sedan) { Sedan sedan = (Sedan)v; sb.AppendLine(sedan.Mostrar()); break; } else { continue; } default: sb.AppendLine(v.Mostrar()); break; } } return(sb.ToString()); }
/// <summary> /// Método de extensión que devuelve la motorización de acuerdo al modelo de vehículo /// </summary> /// <param name="vehiculo"></param> /// <returns></returns> public static string Motorizacion(this Vehiculo vehiculo) { string datos = string.Empty; if (vehiculo is Auto) { Auto a = vehiculo as Auto; switch (a.Modelo.ToString()) { case "Ka": datos = "Motorización disponible: 1.5 105 CV 4Cil"; break; case "Fiesta": datos = "Motorización disponible: 1.6 120 CV 4Cil"; break; case "Focus": datos = "Motorización disponible: 2.0 170 CV 4Cil"; break; } } else { Suv s = vehiculo as Suv; switch (s.Modelo.ToString()) { case "Ecosport": datos = "Motorización disponible: 1.5 123 CV 3Cil"; break; case "Territory": datos = "Motorización disponible: 2.0 143 CV 4Cil"; break; case "Kuga": datos = "Motorización disponible: 2.0T 240 CV 4Cil"; break; case "BroncoSport": datos = "Motorización disponible: 1.5 175 CV 4Cil"; break; } } return(datos); }
/// <summary> /// Expone los datos del elemento y su lista (incluidas sus herencias). /// SOLO del tipo requerido /// </summary> /// <param name="taller">Elemento a exponer</param> /// <param name="tipo">Tipos de ítems de la lista a mostrar</param> /// <returns>Retorna la informacion de los vehiculos de la lista segun el tipo pasado como parametro.</returns> public static string Listar(Taller taller, ETipo tipo) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles.\n", taller.vehiculos.Count, taller.espacioDisponible); sb.AppendLine(""); foreach (Vehiculo v in taller.vehiculos) { switch (tipo) { case ETipo.SUV: Suv suv = v as Suv; if (!(suv is null)) { sb.AppendLine(suv.Mostrar()); } break; case ETipo.Ciclomotor: Ciclomotor ciclo = v as Ciclomotor; if (!(ciclo is null)) { sb.AppendLine(ciclo.Mostrar()); } break; case ETipo.Sedan: Sedan sedan = v as Sedan; if (!(sedan is null)) { sb.AppendLine(sedan.Mostrar()); } break; default: //Aca ingresa cuando sea ETipo.Todos. sb.AppendLine(v.Mostrar()); break; } } return(sb.ToString()); }
/// <summary> /// Método que devuelve la lista de vehículos vendidos de la base de datos /// </summary> /// <returns></returns> public Concesionario <Vehiculo> LeerVehiculos_Vendidos() { Concesionario <Vehiculo> listaVehiculos = new Concesionario <Vehiculo>(); bool aux; try { this.command = new SqlCommand(); this.command.CommandType = CommandType.Text; this.command.CommandText = "SELECT * FROM VEHICULOS_VENDIDOS"; this.command.Connection = this.connection; this.connection.Open(); this.reader = command.ExecuteReader(); while (reader.Read()) { if (reader["origen"].ToString() is not null) { Suv s = new Suv((int)reader["CHASIS"], (ConsoleColor)reader["COLOR"], (bool)reader["USADO"], (Suv.ESuv)reader["MODELO"]); aux = listaVehiculos + s; } else { Auto a = new Auto((int)reader["CHASIS"], (ConsoleColor)reader["COLOR"], (bool)reader["USADO"], (Auto.EAutos)reader["MODELO"]); aux = listaVehiculos + a; } } reader.Close(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { if (this.connection.State == ConnectionState.Open) { this.connection.Close(); } } return(listaVehiculos); }