Improved Interace for creating Contracts
Improved Interace for creating Contracts Added Person to Type and getAll function. Added functions to print a List of Estates and Persons.
This commit is contained in:
parent
e75ebc9337
commit
797742c0dc
|
@ -116,20 +116,8 @@ public class Main {
|
||||||
|
|
||||||
for (Object o : contracts) {
|
for (Object o : contracts) {
|
||||||
Contract contract = (Contract) o;
|
Contract contract = (Contract) o;
|
||||||
if(contract instanceof TenancyContract){
|
listContracts.addEntry("Contract No: " + contract.getContractNo() + " Place: "+contract.getPlace()
|
||||||
TenancyContract tenContract = (TenancyContract) contract;
|
+ "Date: "+contract.getDate(),contract.getContractNo());
|
||||||
listContracts.addEntry("Contract No: " + tenContract.getContractNo() + " Place: "+tenContract.getPlace()
|
|
||||||
+ "Date: "+tenContract.getDate()+" Start Date: "+tenContract.getStartDate()
|
|
||||||
+" Duration: "+tenContract.getDuration()+" Additional Costs: "+tenContract.getAdditionalCost()
|
|
||||||
,tenContract.getContractNo());
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
PurchaseContract purContract = (PurchaseContract) contract;
|
|
||||||
listContracts.addEntry("Contract No: " + purContract.getContractNo() + " Place: "+purContract.getPlace()
|
|
||||||
+ "Date: "+purContract.getDate()+" No of Installments: "+purContract.getNoOfInstallments()
|
|
||||||
+" Interest Rate: "+purContract.getInterestRate()
|
|
||||||
,purContract.getContractNo());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
listContracts.addEntry("Back to the Contract management menu", BACK);
|
listContracts.addEntry("Back to the Contract management menu", BACK);
|
||||||
|
|
||||||
|
@ -149,11 +137,14 @@ public class Main {
|
||||||
private static void newContract() {
|
private static void newContract() {
|
||||||
Contract contract = new Contract();
|
Contract contract = new Contract();
|
||||||
//choose Estate from List
|
//choose Estate from List
|
||||||
Estate estate = new Estate();
|
printListOfEstates();
|
||||||
|
contract.setEstate(FormUtil.readInt("Estate"));
|
||||||
//choose Person from List
|
//choose Person from List
|
||||||
|
printListOfPersons();
|
||||||
|
contract.setPerson(FormUtil.readInt("Person"));
|
||||||
contract.setPlace(FormUtil.readString("Place"));
|
contract.setPlace(FormUtil.readString("Place"));
|
||||||
contract.setDate(FormUtil.readString("Date"));
|
contract.setDate(FormUtil.readString("Date"));
|
||||||
if(estate instanceof Apartment){
|
if(_orm.isApartment(contract.getEstate())){
|
||||||
TenancyContract tenContract = new TenancyContract(contract);
|
TenancyContract tenContract = new TenancyContract(contract);
|
||||||
tenContract.setStartDate(FormUtil.readString("Start Date"));
|
tenContract.setStartDate(FormUtil.readString("Start Date"));
|
||||||
tenContract.setDuration(FormUtil.readInt("Duration"));
|
tenContract.setDuration(FormUtil.readInt("Duration"));
|
||||||
|
@ -372,6 +363,35 @@ public class Main {
|
||||||
System.out.println("------------------");
|
System.out.println("------------------");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Print a list of persons.
|
||||||
|
*/
|
||||||
|
private static void printListOfPersons() {
|
||||||
|
List<?> agents = _orm.getAll(Type.PERSON);
|
||||||
|
System.out.println("List of Persons");
|
||||||
|
System.out.println("------------------");
|
||||||
|
|
||||||
|
for (Object o : agents) {
|
||||||
|
Person person = (Person) o;
|
||||||
|
System.out.println("Name: " + person.getFirstName()+" "+person.getName() +", Address: " + person.getAddress());
|
||||||
|
}
|
||||||
|
System.out.println("------------------");
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Print a list of estates.
|
||||||
|
*/
|
||||||
|
private static void printListOfEstates() {
|
||||||
|
List<?> agents = _orm.getAll(Type.ESTATE);
|
||||||
|
System.out.println("List of Estates");
|
||||||
|
System.out.println("------------------");
|
||||||
|
|
||||||
|
for (Object o : agents) {
|
||||||
|
Estate estate = (Estate) o;
|
||||||
|
System.out.println("ID: " + estate.getId() + ", Address: " + estate.getStreet()+" "+estate.getStreetNumber()+", "+estate.getCity());
|
||||||
|
}
|
||||||
|
System.out.println("------------------");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Print a list of agents.
|
* Print a list of agents.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -9,7 +9,15 @@ public class Contract {
|
||||||
private String date;
|
private String date;
|
||||||
private String place;
|
private String place;
|
||||||
private int person;
|
private int person;
|
||||||
|
private int estate;
|
||||||
|
|
||||||
|
|
||||||
|
public int getEstate() {
|
||||||
|
return estate;
|
||||||
|
}
|
||||||
|
public void setEstate(int estate) {
|
||||||
|
this.estate = estate;
|
||||||
|
}
|
||||||
public int getContractNo() {
|
public int getContractNo() {
|
||||||
return contractNo;
|
return contractNo;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,15 @@ public class Person {
|
||||||
private String firstName;
|
private String firstName;
|
||||||
private String name;
|
private String name;
|
||||||
private String address;
|
private String address;
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
public void setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
public String getFirstName() {
|
public String getFirstName() {
|
||||||
return firstName;
|
return firstName;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,6 @@ package de.dis2017.data;
|
||||||
public class PurchaseContract extends Contract {
|
public class PurchaseContract extends Contract {
|
||||||
private int noOfInstallments;
|
private int noOfInstallments;
|
||||||
private int interestRate;
|
private int interestRate;
|
||||||
|
|
||||||
private int house;
|
|
||||||
|
|
||||||
public PurchaseContract(){
|
public PurchaseContract(){
|
||||||
super();
|
super();
|
||||||
|
@ -33,11 +31,11 @@ public class PurchaseContract extends Contract {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getHouse() {
|
public int getHouse() {
|
||||||
return house;
|
return super.getEstate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHouse(int house) {
|
public void setHouse(int house) {
|
||||||
this.house = house;
|
super.setEstate(house);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,6 @@ public class TenancyContract extends Contract {
|
||||||
private String startDate;
|
private String startDate;
|
||||||
private int duration;
|
private int duration;
|
||||||
private int additionalCost;
|
private int additionalCost;
|
||||||
|
|
||||||
private int apartment;
|
|
||||||
|
|
||||||
public TenancyContract(){
|
public TenancyContract(){
|
||||||
super();
|
super();
|
||||||
|
@ -44,11 +42,11 @@ public class TenancyContract extends Contract {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getApartment() {
|
public int getApartment() {
|
||||||
return apartment;
|
return super.getEstate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setApartment(int apartment) {
|
public void setApartment(int apartment) {
|
||||||
this.apartment = apartment;
|
super.setEstate(apartment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
package de.dis2017.data.db;
|
package de.dis2017.data.db;
|
||||||
|
|
||||||
import de.dis2017.data.Apartment;
|
import de.dis2017.data.Apartment;
|
||||||
|
import de.dis2017.data.Contract;
|
||||||
import de.dis2017.data.Estate;
|
import de.dis2017.data.Estate;
|
||||||
import de.dis2017.data.EstateAgent;
|
import de.dis2017.data.EstateAgent;
|
||||||
import de.dis2017.data.House;
|
import de.dis2017.data.House;
|
||||||
|
import de.dis2017.data.Person;
|
||||||
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
|
@ -56,7 +59,10 @@ public class ORM {
|
||||||
objects = processEstates(rs);
|
objects = processEstates(rs);
|
||||||
break;
|
break;
|
||||||
case CONTRACT:
|
case CONTRACT:
|
||||||
objects = processEstates(rs);
|
objects = processContracts(rs);
|
||||||
|
break;
|
||||||
|
case PERSON:
|
||||||
|
objects = processPersons(rs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
rs.close();
|
rs.close();
|
||||||
|
@ -68,6 +74,51 @@ public class ORM {
|
||||||
return objects;
|
return objects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process a select all query for contracts.
|
||||||
|
*
|
||||||
|
* @param rs the result set of such a query
|
||||||
|
* @return a list of estates
|
||||||
|
* @throws SQLException when an error occurs during the rs.next call
|
||||||
|
*/
|
||||||
|
private List<Contract> processContracts(ResultSet rs) throws SQLException {
|
||||||
|
List<Contract> contracts = new ArrayList<>();
|
||||||
|
|
||||||
|
while (rs.next()) {
|
||||||
|
Contract contract = new Contract();
|
||||||
|
contract.setContractNo(rs.getInt("CONTRACTNUMBER"));
|
||||||
|
contract.setDate(rs.getDate("DATE").toString());
|
||||||
|
contract.setPlace(rs.getString("PLACE"));
|
||||||
|
|
||||||
|
contracts.add(contract);
|
||||||
|
}
|
||||||
|
|
||||||
|
return contracts;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process a select all query for persons.
|
||||||
|
*
|
||||||
|
* @param rs the result set of such a query
|
||||||
|
* @return a list of estates
|
||||||
|
* @throws SQLException when an error occurs during the rs.next call
|
||||||
|
*/
|
||||||
|
private List<Person> processPersons(ResultSet rs) throws SQLException {
|
||||||
|
List<Person> persons = new ArrayList<>();
|
||||||
|
|
||||||
|
while (rs.next()) {
|
||||||
|
Person person = new Person();
|
||||||
|
person.setId(rs.getInt("ID"));
|
||||||
|
person.setFirstName(rs.getString("FirstName"));
|
||||||
|
person.setFirstName(rs.getString("Name"));
|
||||||
|
person.setName(rs.getString("Address"));
|
||||||
|
|
||||||
|
persons.add(person);
|
||||||
|
}
|
||||||
|
|
||||||
|
return persons;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process a select all query for estates.
|
* Process a select all query for estates.
|
||||||
*
|
*
|
||||||
|
@ -537,4 +588,9 @@ public class ORM {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isApartment(int estateID){
|
||||||
|
//TODO check in the DB if the Estate with the ID is an Apartment then return true. If it is a house return false.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,5 +7,6 @@ package de.dis2017.data.db;
|
||||||
public enum Type {
|
public enum Type {
|
||||||
ESTATEAGENT,
|
ESTATEAGENT,
|
||||||
ESTATE,
|
ESTATE,
|
||||||
CONTRACT;
|
CONTRACT,
|
||||||
|
PERSON;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue