public List <LineaFactura> BuscarTodos(FiltroLineaFactura filtro) { List <LineaFactura> listaFacturas = new List <LineaFactura>(); using (SqlConnection conexion = GestionConexion.GetConexion()) { conexion.Open(); SqlCommand comando = new SqlCommand(); String sql = "select * from Facturas"; bool compruebo = false; if (filtro.Numero != 0) { sql += " where Numero = @Numero"; comando.Parameters.AddWithValue("@Numero", filtro.Numero); compruebo = true; } if (filtro.FacturaNumero != 0) { if (!compruebo) { sql += " where facturas_numero = @FacturaNumero"; compruebo = true; } else { sql += " and facturas_numero = @FacturaNumero"; } comando.Parameters.AddWithValue("@FacturaNumero", filtro.FacturaNumero); } if (filtro.ProductoId != null) { if (!compruebo) { sql += " where productos_id = @ProductosId"; compruebo = true; } else { sql += " and productos_id = @ProductosId"; } comando.Parameters.AddWithValue("@ProductosId", filtro.ProductoId); } if (filtro.Unidades != 0) { if (!compruebo) { sql += " where unidades = @Unidades"; compruebo = true; } else { sql += " and unidades = @Unidades"; } comando.Parameters.AddWithValue("@Unidades", filtro.Unidades); } comando.Connection = conexion; comando.CommandText = sql; SqlDataReader lector = comando.ExecuteReader(); while (lector.Read()) { listaFacturas.Add(new LineaFactura( Convert.ToInt32(lector["numero"]), new Factura(Convert.ToInt32(lector["facturas_numero"])), lector["productos_id"].ToString(), Convert.ToInt32(lector["unidades"]))); } } return(listaFacturas); }
public List <LineaFactura> BuscarTodasLasLineasFiltradas(FiltroLineaFactura filtro) { return(repoLineas.BuscarTodos(filtro)); }