-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathBackendDatabase.java
147 lines (123 loc) · 4.48 KB
/
BackendDatabase.java
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import java.util.HashMap;
import com.google.gson.*;
public class BackendDatabase {
public String baseAddress;
//public Gson gson = new GsonBuilder().setPrettyPrinting().create();
public ArrayList<User> users = new ArrayList<User>();
public ArrayList<User> loggedUsers = new ArrayList<User>();
public ArrayList<Ticket> tickets = new ArrayList<Ticket>();
public ArrayList<Company> companies = new ArrayList<Company>();
//public HashMap<Integer, String> userPasses = new HashMap<Integer, String>();
public BackendDatabase(String baseAddress) {
this.baseAddress = baseAddress;
}
public void update() {
// try {
JsonApplication.writeJson(this, this.baseAddress);
// } catch (Exception a) {System.out.println("clone exception:"+a.getMessage());};
}
void addCompany(Company newComp) {
companies.add(newComp);
}
void addTicket(Ticket newTicket) {
tickets.add(newTicket);
}
User profileDetails(String username) {
User currUser = null;
for (int i = 0; i < users.size(); i++)
if (username.equals(users.get(i).username)) {
currUser = users.get(i);
}
return currUser;
}
ArrayList<Transaction> getUserTransaction(String username) {
ArrayList<Transaction> trs = null;
for (int i = 0; i < users.size(); i++)
if (username.equals(users.get(i).username)) {
trs = users.get(i).transactions;
}
return trs;
}
User getUserByUsername(String username) {
User finalUser = null;
for (int i = 0; i < users.size(); i++)
if (username.equals(users.get(i).username))
finalUser = users.get(i);
return finalUser;
}
ArrayList<Ticket> userTickets(String username) {
ArrayList<Ticket> resTickets = new ArrayList<Ticket>();
for (int i = 0; i < users.size(); i++)
if (username.equals(users.get(i).username)) {
resTickets = users.get(i).tickets;
}
return resTickets;
}
ArrayList<Ticket> findTicket(String startDate) {
ArrayList<Ticket> availableTickets = new ArrayList<Ticket>();
for (int i = 0; i < tickets.size(); i++) {
Ticket t = tickets.get(i);
if (t.startDate.equals(startDate))
availableTickets.add(t);
}
return availableTickets;
}
public void SignUp(String email, String username, String pass) {
User newUser = new User();
newUser.setEmail(email);
newUser.setUsername(username);
newUser.setPassword(pass);
users.add(newUser);
}
public boolean passwordChange(String username, String oldPassword, String newPass1, String newPass2) {
User user = getUserByUsername(username);
if (oldPassword.equals(user.password)) {
if (newPass1.equals(newPass2)) {
user.setPassword(newPass1);
return true;
}
}
return false;
}
public Boolean login(String username, String password) {
for (int i = 0; i < users.size(); i++)
if (username.equals(users.get(i).username)) {
if (password.equals(users.get(i).getPassword()))
//adding the user to the loggedUsers array list
loggedUsers.add(users.get(i));
return true;
}
return false;
}
public boolean deleteTicket(int ticketID) {
for (int i = 0; i < tickets.size(); i++)
if (tickets.get(i).ID == ticketID) {
tickets.remove(tickets.get(i));
return true;
}
return false;
}
public Boolean isAuthenticated(String username) {
for (int i = 0; i < loggedUsers.size(); i++)
if (username.equals(loggedUsers.get(i).username))
return true;
return false;
}
public Ticket[] listAvailableTickets(Ticket desired) {
// check created tickets and if the time and source and dest is okay
// output the available tickets.
Ticket[] result = new Ticket[1];
return result;
}
public User loadUser(String username) {
// load user info from json file and return User
User result = new User();
return result;
}
public void storeUser(User user) {
// store user info to json file
}
}