From 2c9242e45cf9c84ac1efb229d0297dfc16d871eb Mon Sep 17 00:00:00 2001 From: Georg Reisinger Date: Wed, 30 Dec 2020 15:47:16 +0100 Subject: [PATCH] Lock Set deck --> if(card.isLocked() == true) --- src/main/java/at/reisinger/DBConnection.java | 33 ++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/main/java/at/reisinger/DBConnection.java b/src/main/java/at/reisinger/DBConnection.java index b0201aa..aaac6b4 100644 --- a/src/main/java/at/reisinger/DBConnection.java +++ b/src/main/java/at/reisinger/DBConnection.java @@ -49,6 +49,29 @@ public class DBConnection { return PostgresHelper.executeUpdate("Update user_cards set gesperrt = " + lock + " where name = \'" + name + "\';"); } + + /** + * Prüft ob eine Card für das Deck gesperrt ist + * @param name Name der Card die zu prüfen ist + * @return True falls gesperrt, ansonst false + * @throws SQLException Locked Cards konnten nicht aus der DB geholt werden + */ + public boolean getCardLock(String name) throws SQLException { + this.c = PostgresHelper.con(); + ArrayList tradingDeals = new ArrayList(); + boolean locked = false; + stmt = this.c.createStatement(); + ResultSet rs = stmt.executeQuery("select gesperrt from user_cards where name = \'" + name + "\';"); + while (rs.next()) { + locked = rs.getBoolean("gesperrt"); + } + rs.close(); + stmt.close(); + this.c.close(); + System.out.println("Trading Deals pulled successfully"); + return locked; + } + /** * Löscht einen Trading Deal aus der Datenbank * @param id Id des deals der gelöscht werden soll @@ -129,6 +152,16 @@ public class DBConnection { * @return True bei erfolg, sonst false */ public boolean setDeck(String username, List deck){ + for (String st :deck) { + try { + if(getCardLock(st)){ + return false; + } + } catch (SQLException throwables) { + throwables.printStackTrace(); + return false; + } + } if (!delDeck(username)){ return false; }