-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserInteraction.java
More file actions
106 lines (104 loc) · 3.09 KB
/
UserInteraction.java
File metadata and controls
106 lines (104 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import java.util.HashMap;
import javax.swing.*;
/**
* Write a description of class UserInteraction here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class UserInteraction
{
// instance variables - replace the example below with your own
private int x;
private CSVReader csvReader;
private static JFrame frame = new JFrame("Banking App");
private static HashMap<User,Double> allUsers = new HashMap<User,Double>();
private static HashMap<User,Double> newUsers = new HashMap<User,Double>();
/**
* Constructor for objects of class UserInteraction
*/
public UserInteraction()
{
csvReader = new CSVReader();
allUsers = csvReader.importFileToMap();
frame.setSize(800,600);
}
public double getPersonalMoney(User user) {
Double money = allUsers.get(user);
if (money == null) {
System.out.println(Constants.ErrorCodes.NULL_USER);
return Integer.MIN_VALUE;
} else {
return money;
}
}
public boolean changeMoney(User user, double change) {
double currentMoney = getPersonalMoney(user);
if (currentMoney+change>=0) {
allUsers.put(user, currentMoney + change);
csvReader.saveToCSV(allUsers);
return true;
} else {
return false;
}
}
public User getUser(String name) {
for(User set:allUsers.keySet()) {
if(set.getName().equals(name)) {
return set;
}
}
return null;
}
public boolean checkUserNull(String name) {
if(getUser(name) == null) {
return true;
}
return false;
}
public static void printAllMap() {
for(User set:allUsers.keySet()) {
System.out.print(set.getName() + ": " + set.getPassword() + ":" + allUsers.get(set));
System.out.println();
}
}
public boolean addUser(User user,double money) {
if(checkUserNull(user.getName())) {
if(user.getName().indexOf(",") == -1) {
newUsers.put(user,money);
return true;
} else {
JOptionPane.showMessageDialog(frame,"Illegal character (,)");
return false;
}
} else {
JOptionPane.showMessageDialog(frame,"User already exists");
return false;
}
}
public void save() {
csvReader.saveToCSV(allUsers);
}
public void saveNewUsers() {
csvReader.appendToCSV(newUsers);
//for each loop add
for(User set: newUsers.keySet()) {
allUsers.put(set,newUsers.get(set));
}
//clear new users
newUsers.clear();
System.err.println("Saved new users");
}
public boolean login(User user) {
String name = user.getName();
String password = user.getPassword();
for(User set:allUsers.keySet()) {
if(set.getName().equals(name)) {
if(set.getPassword().equals(password)) {
return true;
}
}
}
return false;
}
}