// CORROBORADO public void RegistrarEstado(Estado estadoNuevo) { SqlCommand command = connection.CreateCommand(); String query = "INSERT INTO Estados (tipoEstado, fecha, idVehiculo) VALUES (@TipoEstado, @Fecha, @IdVehiculo)"; command.CommandText = query; command.Parameters.Add("@TipoEstado", SqlDbType.VarChar).Value = estadoNuevo.TipoEstado.ToString(); command.Parameters.Add("@Fecha", SqlDbType.DateTime).Value = estadoNuevo.Fecha; command.Parameters.Add("@IdVehiculo", SqlDbType.Int).Value = estadoNuevo.IdVehiculo; try { connection.Open(); command.ExecuteNonQuery(); } catch (Exception ex) { Exception excepcionManejada = new Exception("Ha ocurrido un error al intentar registrar el estado del vehículo. Por favor, vuelva a intentarlo.", ex); throw excepcionManejada; } finally { connection.Close(); } }
// CORROBORADO public Estado GetEstadoMasReciente(Vehiculo vehiculoActual) { List<Estado> listaEstados = new List<Estado>(); String query = "SELECT * FROM Estados WHERE idVehiculo = '" + vehiculoActual.IdVehiculo + "'"; SqlCommand command = connection.CreateCommand(); command.CommandText = query; Estado estadoMasReciente = new Estado(); try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); // Buscar todos los estados de vehiculoActual while (reader.Read()) { Estado estadoActual = new Estado(); estadoActual.IdVehiculo = vehiculoActual.IdVehiculo; estadoActual.Fecha = Convert.ToDateTime(reader["fecha"]); String tipoEstado = Convert.ToString(reader["tipoEstado"]); switch(tipoEstado) { case "Disponible": estadoActual.TipoEstado = Estado.TiposEstado.Disponible; break; case "Vendido": estadoActual.TipoEstado = Estado.TiposEstado.Vendido; break; } listaEstados.Add(estadoActual); } // Buscar el estado más reciente foreach (Estado estadoActual in listaEstados) { if (estadoActual.Fecha > estadoMasReciente.Fecha) { estadoMasReciente = estadoActual; } } } catch (Exception ex) { Exception excepcionManejada = new Exception("Ha ocurrido un error al intentar recuperar los colores. Por favor, vuelva a intentarlo.", ex); throw excepcionManejada; } finally { connection.Close(); } return estadoMasReciente; }
public Estado CrearEstadoVendido(Venta ventaActual) { Estado estadoVendido = new Estado(); estadoVendido.Fecha = ventaActual.Fecha; estadoVendido.IdVehiculo = ventaActual.Vehiculo.IdVehiculo; estadoVendido.TipoEstado = Estado.TiposEstado.Vendido; return estadoVendido; }
private void MapearADatos() { // Asignacion de valores a vehiculoActual VehiculoActual.Version = (Negocio.Entidades.Version)cmb_version.SelectedItem; VehiculoActual.AñoPatentamiento = (int)nud_añoPatentamiento.Value; VehiculoActual.Color = (Color)cmb_color.SelectedItem; VehiculoActual.ValorAdquisicion = (double)nud_valorAdquisicion.Value; VehiculoActual.ValorVenta = (double)nud_valorVenta.Value; VehiculoActual.NroChasis = mtxt_nroChasis.Text; VehiculoActual.NroMotor = txt_nroMotor.Text; if(nud_añoPatentamiento.Value != 0) { VehiculoActual.Dominio = mtxt_dominio.Text; } else { VehiculoActual.Dominio = ""; } if (cmb_uso.SelectedIndex == 0) // Si el Vehículo es Usado { VehiculoActual.EsUsado = true; } else { VehiculoActual.EsUsado = false; } if (nud_kilometraje.Enabled) { VehiculoActual.Kilometraje = (int)nud_kilometraje.Value; } else { VehiculoActual.Kilometraje = 0; } if (txt_observaciones.Text.ToString() != "") { VehiculoActual.Observaciones = txt_observaciones.Text; } else { VehiculoActual.Observaciones = "-"; } Estado estadoActual = new Estado(); VehiculoActual.Estado = estadoActual; }