-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserController.java
More file actions
68 lines (58 loc) · 1.93 KB
/
Copy pathUserController.java
File metadata and controls
68 lines (58 loc) · 1.93 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
package com.lftechnology.controller;
import java.util.Scanner;
import com.lftechnology.service.UserService;
import com.lftechnology.service.ServiceFactory;
import com.lftechnology.entities.Employee;
import com.lftechnology.entities.User;
import com.lftechnology.entities.Role;
import com.lftechnology.view.UserMenu;
/**
* Controller for handling the user actions
* @author achyut
*
*/
public class UserController {
/**
* Validate and login a user
* @param user
* @param scan
*/
public void login(User user, Scanner scan) {
Employee employee = new Employee();
UserService ls = ServiceFactory.getLoginService();
employee = ls.authenticate(user);
if (employee.getId() == 0) {
System.out.println("\nLogin Failed. No username and password matched");
} else {
System.out.format("Welcome %s", employee.getFullName());
UserMenu userMenu = new UserMenu();
if (employee.getRole().equals(Role.ADMIN)) {
userMenu.displayAdminMenu(employee, scan);
} else {
userMenu.displayUserMenu(employee, scan);
}
}
}
/**
* Prepare a user for logout making the user GUEST
* @param employee
* @param sc
* @return Employee
*/
public static Employee logOut(Employee employee, Scanner sc) {
System.out.println("\nYou Wanna Sign Out?");
System.out.println("tyes = 1\t\tno = 2");
int check = Integer.parseInt(sc.nextLine());
if (check == 1) {
employee.setRole(Role.GUEST);
employee.setId(0);
employee.setUsername("");
employee.setPassword("");
employee.setIsTerminated(true);
employee.setFullName("");
employee.setAddress("");
employee.setDepartment("");
}
return employee;
}
}