Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 22 additions & 11 deletions src/main/entities/Expense.java
Original file line number Diff line number Diff line change
@@ -1,32 +1,45 @@
package main.entities;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

public class Expense {
private String id;
private String expenseName;
private double amount;
private String description;
private User paidBy;
private List<User> participants;
private String category; // stores what category the expense should be
private User paiedBy;
private boolean settled;
private String date;

public Expense(String id, double amount, String description, User paidBy) {
this.id = id;
this.amount = amount;
public Expense(String expenseName,
String description,
double amount,
String category,
ArrayList<User> participants,
User paiedBy) {
this.expenseName = expenseName;
this.description = description;
this.paidBy = paidBy;
this.participants = new ArrayList<>();
this.amount = amount;
this.category = category;
this.participants = participants;
this.paiedBy = paiedBy;
this.settled = false;
this.date = String.valueOf(LocalDate.now());
}

// Getters and setters
public String getId() { return id; }
public String getExpenseName() { return expenseName; }
public double getAmount() { return amount; }
public String getDescription() { return description; }
public User getPaidBy() { return paidBy; }
public String getCategory() { return category; }
public List<User> getParticipants() { return participants; }
public User getPaiedBy() { return paiedBy; }
public boolean getSettled() { return settled; }
public String getDate() { return date; }
public void setSettled(boolean newSettled) {this.settled = newSettled; }

public void addParticipant(User user) {
if (!participants.contains(user)) {
Expand All @@ -38,6 +51,4 @@ public double calculateEqualShare() {
if (participants.isEmpty()) return 0;
return amount / participants.size();
}

public String getCategory() { return category;}
}
15 changes: 15 additions & 0 deletions src/main/entities/ExpenseFactory.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package main.entities;

import java.util.ArrayList;

public class ExpenseFactory {
public Expense create(String expenseName,
String description,
double amount,
String category,
ArrayList<User> participants,
User paidedBy) {
return new Expense(expenseName, description, amount, category, participants, paidedBy);
}

}