package net.diamonddominion.esaych.util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Vote {
public int id = -1; //Main Identification -1 being that it has not yet been identified;
public String player;
public int timestamp;
public String site;
public int rewarded;
public boolean donationcredit;
private Connection con;
public Vote(int id) {
this.id = id;
try {
con = SQL.getConnection();
Statement st = (Statement) con.createStatement();
ResultSet result = st.executeQuery("SELECT * FROM `dd-votes` WHERE `id` = " + id + ";");
while (result.next()) {
player = result.getString("player");
timestamp = result.getInt("time");
site = result.getString("site");
rewarded = result.getInt("rewarded");
donationcredit = result.getInt("donationcredit") == 1;
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
public Vote(String player, int timestamp, String site, int reward, boolean donationcredit) {
this.player = player;
this.timestamp = timestamp;
this.site = site;
this.rewarded = reward;
this.donationcredit = donationcredit;
update();
}
public void update() {
Connection con = null;
try {
con = SQL.getConnection();
Statement st = (Statement) con.createStatement();
int d = 0;
if (donationcredit)
d = 1;
if (id == -1) {
st.execute("INSERT INTO `dd-votes`(`player`, `time`, `site`, `rewarded`, `donationcredit`) VALUES ('" + player + "', " + timestamp + ", '" + site + "', " + rewarded + ", " + d + ");");
ResultSet result = st.executeQuery("SELECT `id` FROM `dd-votes` WHERE `player` = '" + player + "' && `time` = " + timestamp + " && `site` = '" + site + "';");
while (result.next()) {
id = result.getInt("id");
}
} else {
st.execute("UPDATE `dd-votes` SET `player`='" + player + "', `time`='" + timestamp + "', `site`='" + site + "', `rewarded`='" + rewarded + "', `donationcredit`='" + d + "' WHERE `id`='" + id + "';");
st = (Statement) con.createStatement();
ResultSet result = st.executeQuery("SELECT * FROM `dd-votes` WHERE `id` = " + id + ";");
while (result.next()) {
player = result.getString("player");
timestamp = result.getInt("time");
site = result.getString("site");
rewarded = result.getInt("rewarded");
donationcredit = result.getInt("donationcredit") == 1;
}
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
public void rewardVote(int rewardID) {
rewarded = rewardID;
update();
}
public void donationcreditVote(boolean value) {
donationcredit = value;
update();
}
}