-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCustomer.java
More file actions
300 lines (266 loc) · 10.2 KB
/
Customer.java
File metadata and controls
300 lines (266 loc) · 10.2 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
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
package tourism;
import java.util.*;
import java.lang.*;
public class Customer implements Comparable<Customer>
{
String name;
int noOfMembers;
String emailID;
String phoneNo;
char membership;
char vegOptions;
int priority;
int selectedTour;
double totalamt;
Customer()
{
this.name = "";
this.noOfMembers = 0;
this.emailID = "";
this.phoneNo = "";
this.vegOptions = '0';
this.priority=0;
this.selectedTour=0;
this.totalamt=0.0;
}
/*public int compareTo(Object obj): It is used to compare the current object with the specified object. It returns
positive integer, if the current object is greater than the specified object.
negative integer, if the current object is less than the specified object.
zero, if the current object is equal to the specified object.*/
public int compareTo(Customer ct){
if(priority==ct.priority)
return 0;
else if(priority>ct.priority)
return 1;
else
return -1;
}
Customer(String name,int noOfMembers,String emailID,String phoneNo,char membership,char vegOptions)
{
this.name = name;
this.noOfMembers = noOfMembers;
this.emailID = emailID;
this.phoneNo = phoneNo;
this.membership = membership;
this.vegOptions = vegOptions;
}
public String getName()
{
return name;
}
public int getPriority()
{
return priority;
}
public void displayBooking()
{
System.out.println("The name is : "+this.name);
System.out.println("The email ID is : "+this.emailID);
System.out.println("The phone no. is : "+this.phoneNo);
System.out.println("Your membership is : "+this.membership);
System.out.println("Your food option is : "+this.vegOptions);
System.out.println("Total number of members registered : "+this.noOfMembers);
}
public int acceptDetails(LinkedList<RegisteredUsers> ru1)
{
Scanner scad1 = new Scanner(System.in);
Scanner scad2 = new Scanner(System.in);
Scanner scad3 = new Scanner(System.in);
Scanner scad4 = new Scanner(System.in);
Scanner scad5 = new Scanner(System.in);
int flag=0;
//***accepting details
do
{ System.out.println("Enter your name :");
name = scad1.nextLine();
int c=0;
for(int j=0;j<name.length();j++)
{
if(Character.isDigit(name.charAt(j)))
c++;
}
if(c!=0)
{
System.out.println("wrong name entered");
continue;
}
else
break;
}while(true);
Iterator<RegisteredUsers> iter4 = ru1.iterator();
while (iter4.hasNext())
{
RegisteredUsers temp1 = iter4.next();
if(temp1.cname.compareTo(name)==0)
{
flag++;
membership=temp1.membership1;
System.out.println(membership);
break;
}
}
if(flag==0)
System.out.println("Not found in registered users");
//***accepting email id
do
{
System.out.println("Enter your email ID :");
emailID = scad2.next();
if(emailID.indexOf('@')==-1 || emailID.indexOf(".com")==-1)
{
System.out.println("Wrong email id entered try again");
continue;
}
else
break;
}while(true);
//***accepting phone number
do
{
System.out.println("Enter your phone number :");
phoneNo = scad3.nextLine();
int count=0;
for(int j=0;j<phoneNo.length();j++)
{
if(Character.isDigit(phoneNo.charAt(j)))
{
count++;
}
}
if(count==10)
break;
else
{
System.out.println("wrong contact number try again");
continue;
}
}while(true);
//accepting number of members
do
{
System.out.println("Enter no.of members registering :**(MIN 1 and MAX 25 allowed");
noOfMembers = scad4.nextInt();
if(noOfMembers>0 && noOfMembers<=25)
{
break;
}
else
{
System.out.println("Try again! number of members can be between 1 to 25 only");
continue;
}
}while(true);
//***accepting veg or non veg option
do
{
System.out.println("Enter 'V' for veg and 'N' for non-veg :");
vegOptions = scad5.next().charAt(0);
vegOptions=Character.toUpperCase(vegOptions);
if(vegOptions=='V'||vegOptions=='N')
{
break;
}
else
{
System.out.println("Incorrect information entered try again");
continue;
}
}while(true);
System.out.println("Enter the tourid of the package you wish to select:");
selectedTour=scad4.nextInt();
if(selectedTour>=2100 && selectedTour<=2110)
{
System.out.println("\n Tour id selected is valid");
return selectedTour;
}
else
{
System.out.println("\nIncorrect Tour id selected ");
System.out.println("\nCannot allocate tour");
return -1;
}
}//close accept()
void calculatePriority(int numberOfMembers,char membership)
{
if(numberOfMembers>0 && numberOfMembers<5)
priority+=5;
else if(numberOfMembers>=5 && numberOfMembers<10)
priority+=10;
else if(numberOfMembers>=10 && numberOfMembers<15)
priority+=15;
else if(numberOfMembers>=15 && numberOfMembers<20)
priority+=20;
else if(numberOfMembers>=20 && numberOfMembers<=25)
priority+=25;
switch(membership)
{
case 'p':this.priority+=30;
break;
case 'P':this.priority+=30;
break;
case 'G':this.priority+=20;
break;
case 'g':this.priority+=20;
break;
case 's':this.priority+=10;
break;
case 'S':this.priority+=10;
break;
}
}//close calculatePriority()
int signupLogin(LinkedList<RegisteredUsers> ru5)
{
Scanner sc1=new Scanner(System.in);
int choiceToContinue=1;
//for existing account we can ask for password and if it matches then customer allowed to enter
//linkedlist of users can contain name password if it matches then customer already has account
int signUpMe;
Scanner sc6=new Scanner(System.in);
int flag=0;
while(choiceToContinue!=0)
{
System.out.println("Enter name and password to login as a customer:");
System.out.println("Enter name :");
String n=sc6.nextLine();
System.out.println("Enter password:");
String p=sc1.next();
//RegisteredUsers ru1=new RegisteredUsers(n,p);
Iterator<RegisteredUsers>it=ru5.iterator();
for(int i=0;i<ru5.size();i++)
{
if(ru5.get(i).cname.compareToIgnoreCase(n)==0&&ru5.get(i).password.equals(p))
{
System.out.println("LOGIN SUCCESSFULL");
flag=1;
return 1;
}
}
//int i=ru.indexOf(ru1);
if(flag==0)
{
Scanner sc9=new Scanner(System.in);
System.out.println("Account not found");
System.out.println("Try again");
System.out.println("Do you want to signup? enter 2 for yes and 0 for no");
signUpMe=sc9.nextInt();
if(signUpMe==2)
{
String customerName;
String customerPassword;
int flag1=0;
System.out.println("You can create your Customer account here");
System.out.println("Enter your name:");
customerName=sc6.next();
System.out.println("Create password for your account:");
customerPassword=sc6.next();
RegisteredUsers ru2=new RegisteredUsers(customerName,customerPassword,'N');
ru5.add(ru2);
System.out.println("Account Successfully created!!");
System.out.println("Now you can enter the tour portal as a customer");
return 1;
}
}
}
return 0;
}
}