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) {
|
||||
Contract contract = (Contract) o;
|
||||
if(contract instanceof TenancyContract){
|
||||
TenancyContract tenContract = (TenancyContract) contract;
|
||||
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("Contract No: " + contract.getContractNo() + " Place: "+contract.getPlace()
|
||||
+ "Date: "+contract.getDate(),contract.getContractNo());
|
||||
}
|
||||
listContracts.addEntry("Back to the Contract management menu", BACK);
|
||||
|
||||
|
@ -149,11 +137,14 @@ public class Main {
|
|||
private static void newContract() {
|
||||
Contract contract = new Contract();
|
||||
//choose Estate from List
|
||||
Estate estate = new Estate();
|
||||
printListOfEstates();
|
||||
contract.setEstate(FormUtil.readInt("Estate"));
|
||||
//choose Person from List
|
||||
printListOfPersons();
|
||||
contract.setPerson(FormUtil.readInt("Person"));
|
||||
contract.setPlace(FormUtil.readString("Place"));
|
||||
contract.setDate(FormUtil.readString("Date"));
|
||||
if(estate instanceof Apartment){
|
||||
if(_orm.isApartment(contract.getEstate())){
|
||||
TenancyContract tenContract = new TenancyContract(contract);
|
||||
tenContract.setStartDate(FormUtil.readString("Start Date"));
|
||||
tenContract.setDuration(FormUtil.readInt("Duration"));
|
||||
|
@ -372,6 +363,35 @@ public class Main {
|
|||
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.
|
||||
*/
|
||||
|
|
|
@ -9,7 +9,15 @@ public class Contract {
|
|||
private String date;
|
||||
private String place;
|
||||
private int person;
|
||||
private int estate;
|
||||
|
||||
|
||||
public int getEstate() {
|
||||
return estate;
|
||||
}
|
||||
public void setEstate(int estate) {
|
||||
this.estate = estate;
|
||||
}
|
||||
public int getContractNo() {
|
||||
return contractNo;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,15 @@ public class Person {
|
|||
private String firstName;
|
||||
private String name;
|
||||
private String address;
|
||||
private int id;
|
||||
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
|
|
@ -3,8 +3,6 @@ package de.dis2017.data;
|
|||
public class PurchaseContract extends Contract {
|
||||
private int noOfInstallments;
|
||||
private int interestRate;
|
||||
|
||||
private int house;
|
||||
|
||||
public PurchaseContract(){
|
||||
super();
|
||||
|
@ -33,11 +31,11 @@ public class PurchaseContract extends Contract {
|
|||
}
|
||||
|
||||
public int getHouse() {
|
||||
return house;
|
||||
return super.getEstate();
|
||||
}
|
||||
|
||||
public void setHouse(int house) {
|
||||
this.house = house;
|
||||
super.setEstate(house);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -6,8 +6,6 @@ public class TenancyContract extends Contract {
|
|||
private String startDate;
|
||||
private int duration;
|
||||
private int additionalCost;
|
||||
|
||||
private int apartment;
|
||||
|
||||
public TenancyContract(){
|
||||
super();
|
||||
|
@ -44,11 +42,11 @@ public class TenancyContract extends Contract {
|
|||
}
|
||||
|
||||
public int getApartment() {
|
||||
return apartment;
|
||||
return super.getEstate();
|
||||
}
|
||||
|
||||
public void setApartment(int apartment) {
|
||||
this.apartment = apartment;
|
||||
super.setEstate(apartment);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
package de.dis2017.data.db;
|
||||
|
||||
import de.dis2017.data.Apartment;
|
||||
import de.dis2017.data.Contract;
|
||||
import de.dis2017.data.Estate;
|
||||
import de.dis2017.data.EstateAgent;
|
||||
import de.dis2017.data.House;
|
||||
import de.dis2017.data.Person;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.sql.*;
|
||||
|
@ -56,7 +59,10 @@ public class ORM {
|
|||
objects = processEstates(rs);
|
||||
break;
|
||||
case CONTRACT:
|
||||
objects = processEstates(rs);
|
||||
objects = processContracts(rs);
|
||||
break;
|
||||
case PERSON:
|
||||
objects = processPersons(rs);
|
||||
break;
|
||||
}
|
||||
rs.close();
|
||||
|
@ -68,6 +74,51 @@ public class ORM {
|
|||
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.
|
||||
*
|
||||
|
@ -537,4 +588,9 @@ public class ORM {
|
|||
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 {
|
||||
ESTATEAGENT,
|
||||
ESTATE,
|
||||
CONTRACT;
|
||||
CONTRACT,
|
||||
PERSON;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue