Bugfixes and small Interace changes

Improved Interface
removed Bugs from ORM.persist(Contract) and ORM.isApartment()
This commit is contained in:
Togepy95 2017-04-22 13:34:56 +02:00
parent 85010e6025
commit fe37fc0dce
2 changed files with 39 additions and 41 deletions

View File

@ -145,13 +145,14 @@ public class Main {
printListOfPersons(); printListOfPersons();
contract.setPerson(FormUtil.readInt("Person")); contract.setPerson(FormUtil.readInt("Person"));
contract.setPlace(FormUtil.readString("Place")); contract.setPlace(FormUtil.readString("Place"));
contract.setDate(Date.valueOf(FormUtil.readString("Date"))); System.out.println("Please enter the date of the contract.");
contract.setDate(Date.valueOf(FormUtil.readInt("Year")+"-"+FormUtil.readInt("Month")+"-"+FormUtil.readInt("Day")));
if(_orm.isApartment(contract.getEstate())){ if(_orm.isApartment(contract.getEstate())){
TenancyContract tenContract = new TenancyContract(contract); TenancyContract tenContract = new TenancyContract(contract);
System.out.println("Start Date:"); System.out.println("Please enter the start date of the tenancy.");
Timestamp startDate = Timestamp.valueOf(FormUtil.readInt("Year")+"-"+FormUtil.readInt("Month")+"-"+FormUtil.readInt("Day")); Timestamp startDate = Timestamp.valueOf(FormUtil.readInt("Year")+"-"+FormUtil.readInt("Month")+"-"+FormUtil.readInt("Day"));
tenContract.setStartDate(startDate); tenContract.setStartDate(startDate);
System.out.println("Duration:"); System.out.println("Please enter the duration of the tenancy.");
Timestamp duration = Timestamp.valueOf(FormUtil.readInt("Year")+"-"+FormUtil.readInt("Month")+"-"+FormUtil.readInt("Day")); Timestamp duration = Timestamp.valueOf(FormUtil.readInt("Year")+"-"+FormUtil.readInt("Month")+"-"+FormUtil.readInt("Day"));
tenContract.setDuration(duration); tenContract.setDuration(duration);
tenContract.setAdditionalCost(FormUtil.readInt("Additional Costs")); tenContract.setAdditionalCost(FormUtil.readInt("Additional Costs"));

View File

@ -93,7 +93,7 @@ public class ORM {
while (rs.next()) { while (rs.next()) {
Contract contract = new Contract(); Contract contract = new Contract();
contract.setContractNo(rs.getInt("CONTRACTNUMBER")); contract.setContractNo(rs.getInt("CONTRACTNUMBER"));
contract.setDate(rs.getDate("DATE").toString()); contract.setDate(rs.getDate("DATE"));
contract.setPlace(rs.getString("PLACE")); contract.setPlace(rs.getString("PLACE"));
contracts.add(contract); contracts.add(contract);
@ -677,30 +677,26 @@ public class ORM {
if (contract instanceof TenancyContract) { if (contract instanceof TenancyContract) {
TenancyContract tenContract = (TenancyContract) contract; TenancyContract tenContract = (TenancyContract) contract;
String insertSQLHouse = "INSERT INTO TENANCYCONTRACT (ContractNumber, StartDate, Duration, AdditionalCosts) VALUES (?, ?, ?, ?)"; String insertSQLTenancy = "INSERT INTO TENANCYCONTRACT (ContractNumber, StartDate, Duration, AdditionalCosts) VALUES (?, ?, ?, ?)";
PreparedStatement pstmtHouse = _connection.prepareStatement(insertSQLHouse); PreparedStatement pstmtTenancy = _connection.prepareStatement(insertSQLTenancy);
pstmtHouse.setInt(1, tenContract.getContractNo()); pstmtTenancy.setInt(1, tenContract.getContractNo());
pstmtHouse.setTimestamp(2, tenContract.getStartDate()); pstmtTenancy.setTimestamp(2, tenContract.getStartDate());
pstmtHouse.setTimestamp(3, tenContract.getDuration()); pstmtTenancy.setTimestamp(3, tenContract.getDuration());
pstmtHouse.setInt(4, tenContract.getAdditionalCost()); pstmtTenancy.setInt(4, tenContract.getAdditionalCost());
pstmt.executeUpdate(); pstmtTenancy.executeUpdate();
pstmtHouse.executeUpdate(); pstmtTenancy.close();
pstmt.close();
pstmtHouse.close();
changeFinished = true; changeFinished = true;
} }
else if (contract instanceof PurchaseContract) { else if (contract instanceof PurchaseContract) {
PurchaseContract purContract = (PurchaseContract) contract; PurchaseContract purContract = (PurchaseContract) contract;
String insertSQLApartment = "INSERT INTO PURCHASECONTRACT (ContractNumber, NumberOfInstallments, InterestRate) " + String insertSQLPurchase = "INSERT INTO PURCHASECONTRACT (ContractNumber, NumberOfInstallments, InterestRate) " +
"VALUES (?, ?, ?)"; "VALUES (?, ?, ?)";
PreparedStatement pstmtApartment = _connection.prepareStatement(insertSQLApartment); PreparedStatement pstmtPurchase = _connection.prepareStatement(insertSQLPurchase);
pstmtApartment.setInt(1, purContract.getContractNo()); pstmtPurchase.setInt(1, purContract.getContractNo());
pstmtApartment.setInt(2, purContract.getNoOfInstallments()); pstmtPurchase.setInt(2, purContract.getNoOfInstallments());
pstmtApartment.setInt(3, purContract.getInterestRate()); pstmtPurchase.setInt(3, purContract.getInterestRate());
pstmt.executeUpdate(); pstmtPurchase.executeUpdate();
pstmtApartment.executeUpdate(); pstmtPurchase.close();
pstmt.close();
pstmtApartment.close();
changeFinished = true; changeFinished = true;
} }
} else { } else {
@ -713,29 +709,29 @@ public class ORM {
if (contract instanceof TenancyContract) { if (contract instanceof TenancyContract) {
TenancyContract tenContract = (TenancyContract) contract; TenancyContract tenContract = (TenancyContract) contract;
String updateSQLHouse = "UPDATE TenancyContract SET startDate = ?, duration = ?, additionalcosts = ? WHERE contractNumber = ?"; String updateSQLTenancy = "UPDATE TenancyContract SET startDate = ?, duration = ?, additionalcosts = ? WHERE contractNumber = ?";
PreparedStatement pstmtHouse = _connection.prepareStatement(updateSQLHouse); PreparedStatement pstmtTenancy = _connection.prepareStatement(updateSQLTenancy);
pstmtHouse.setTimestamp(1, tenContract.getStartDate()); pstmtTenancy.setTimestamp(1, tenContract.getStartDate());
pstmtHouse.setTimestamp(2, tenContract.getDuration()); pstmtTenancy.setTimestamp(2, tenContract.getDuration());
pstmtHouse.setInt(3, tenContract.getAdditionalCost()); pstmtTenancy.setInt(3, tenContract.getAdditionalCost());
pstmtHouse.setInt(4, tenContract.getContractNo()); pstmtTenancy.setInt(4, tenContract.getContractNo());
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmtHouse.executeUpdate(); pstmtTenancy.executeUpdate();
pstmt.close(); pstmt.close();
pstmtHouse.close(); pstmtTenancy.close();
changeFinished = true; changeFinished = true;
} }
else if (contract instanceof PurchaseContract) { else if (contract instanceof PurchaseContract) {
PurchaseContract purContract = (PurchaseContract) contract; PurchaseContract purContract = (PurchaseContract) contract;
String updateSQLApartment = "UPDATE PurchaseContract SET numberofinstallments = ?, interestrate = ? WHERE contractNumber = ?"; String updateSQLPurchase = "UPDATE PurchaseContract SET numberofinstallments = ?, interestrate = ? WHERE contractNumber = ?";
PreparedStatement pstmtApartment = _connection.prepareStatement(updateSQLApartment); PreparedStatement pstmtPurchase = _connection.prepareStatement(updateSQLPurchase);
pstmtApartment.setInt(1, purContract.getNoOfInstallments()); pstmtPurchase.setInt(1, purContract.getNoOfInstallments());
pstmtApartment.setInt(2, purContract.getInterestRate()); pstmtPurchase.setInt(2, purContract.getInterestRate());
pstmtApartment.setInt(3, purContract.getContractNo()); pstmtPurchase.setInt(3, purContract.getContractNo());
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmtApartment.executeUpdate(); pstmtPurchase.executeUpdate();
pstmt.close(); pstmt.close();
pstmtApartment.close(); pstmtPurchase.close();
changeFinished = true; changeFinished = true;
} }
} }
@ -768,11 +764,12 @@ public class ORM {
boolean isApartment = false; boolean isApartment = false;
try { try {
_connection.setAutoCommit(false); _connection.setAutoCommit(false);
String insertSQL = "SELECT ID FROM INTO APARTMENT WHERE ID=?"; String insertSQL = "SELECT ID FROM APARTMENT WHERE ID=?";
PreparedStatement pstmt = _connection.prepareStatement(insertSQL, Statement.RETURN_GENERATED_KEYS); PreparedStatement pstmt = _connection.prepareStatement(insertSQL, Statement.RETURN_GENERATED_KEYS);
pstmt.setInt(1, estateID); pstmt.setInt(1, estateID);
ResultSet result = pstmt.executeQuery(); pstmt.executeQuery();
if(result.first())isApartment=true; ResultSet result = pstmt.getResultSet();
if(result.next())isApartment=true;
result.close(); result.close();
pstmt.close(); pstmt.close();