import [Link].
*;
class UnderWriter {
private static int counter = 1;
private int underwriterId;
private String name;
private Date dob;
private Date joiningDate;
private String password;
public UnderWriter(String name, Date dob, Date joiningDate, String password) {
[Link] = counter++;
[Link] = name;
[Link] = dob;
[Link] = joiningDate;
[Link] = password;
}
public int getUnderwriterId() { return underwriterId; }
public String getName() { return name; }
public String getPassword() { return password; }
public void setPassword(String password) { [Link] = password; }
}
class VehicleInsurance {
private static int policyCounter = 1000;
private int policyNo;
private String vehicleNo;
private String vehicleType;
private String customerName;
private int engineNo;
private int chasisNo;
private String phoneNo;
private String type;
private double premiumAmount;
private Date fromDate;
private Date toDate;
private int underwriterId;
public VehicleInsurance(String vehicleNo, String vehicleType, String
customerName, int engineNo, int chasisNo,
String phoneNo, String type, double premiumAmount, Date
fromDate, int underwriterId) {
[Link] = policyCounter++;
[Link] = vehicleNo;
[Link] = vehicleType;
[Link] = customerName;
[Link] = engineNo;
[Link] = chasisNo;
[Link] = phoneNo;
[Link] = type;
[Link] = premiumAmount;
[Link] = fromDate;
Calendar cal = [Link]();
[Link](fromDate);
[Link](Calendar.DAY_OF_YEAR, 365);
[Link] = [Link]();
[Link] = underwriterId;
}
}
public class StarProtectSystem {
private static List<UnderWriter> underwriters = new ArrayList<>();
private static List<VehicleInsurance> insurances = new ArrayList<>();
private static final String ADMIN_USER = "admin";
private static final String ADMIN_PASS = "admin@123";
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
while (true) {
[Link]("1. Admin Login\n2. UnderWriter Login\n3. Exit");
int choice = [Link]();
switch (choice) {
case 1:
adminLogin(scanner);
break;
case 2:
underwriterLogin(scanner);
break;
case 3:
[Link](0);
default:
[Link]("Invalid option!");
}
}
}
private static void adminLogin(Scanner scanner) {
[Link]("Enter Admin Username: ");
String user = [Link]();
[Link]("Enter Password: ");
String pass = [Link]();
if ([Link](ADMIN_USER) && [Link](ADMIN_PASS)) {
adminMenu(scanner);
} else {
[Link]("Invalid Credentials!");
}
}
private static void adminMenu(Scanner scanner) {
while (true) {
[Link]("Admin Menu:\n1. Register UnderWriter\n2. View
Underwriters\n3. Logout");
int choice = [Link]();
switch (choice) {
case 1:
registerUnderwriter(scanner);
break;
case 2:
viewUnderwriters();
break;
case 3:
return;
default:
[Link]("Invalid Option!");
}
}
}
private static void registerUnderwriter(Scanner scanner) {
[Link]("Enter Name: ");
String name = [Link]();
[Link]("Enter DOB (yyyy-mm-dd): ");
String dobStr = [Link]();
[Link]("Enter Joining Date (yyyy-mm-dd): ");
String joiningDateStr = [Link]();
[Link]("Enter Password: ");
String password = [Link]();
[Link](new UnderWriter(name, new Date(), new Date(), password));
[Link]("Underwriter Registered Successfully!");
}
private static void viewUnderwriters() {
for (UnderWriter u : underwriters) {
[Link]("ID: " + [Link]() + ", Name: " +
[Link]());
}
}
private static void underwriterLogin(Scanner scanner) {
[Link]("Enter UnderWriter ID: ");
int id = [Link]();
[Link]("Enter Password: ");
String pass = [Link]();
for (UnderWriter u : underwriters) {
if ([Link]() == id && [Link]().equals(pass)) {
underwriterMenu(scanner, id);
return;
}
}
[Link]("Invalid Credentials!");
}
private static void underwriterMenu(Scanner scanner, int underwriterId) {
while (true) {
[Link]("UnderWriter Menu:\n1. Create Insurance\n2.
Logout");
int choice = [Link]();
switch (choice) {
case 1:
createVehicleInsurance(scanner, underwriterId);
break;
case 2:
return;
default:
[Link]("Invalid Option!");
}
}
}
private static void createVehicleInsurance(Scanner scanner, int underwriterId)
{
[Link]("Enter Vehicle No: ");
String vehicleNo = [Link]();
[Link]("Enter Vehicle Type: ");
String vehicleType = [Link]();
[Link]("Enter Customer Name: ");
String customerName = [Link]();
[Link]("Enter Engine No: ");
int engineNo = [Link]();
[Link]("Enter Chasis No: ");
int chasisNo = [Link]();
[Link]("Enter Phone No: ");
String phoneNo = [Link]();
[Link]("Enter Type (Full/ThirdParty): ");
String type = [Link]();
double premiumAmount = [Link]("Full") ? 10000 : 5000;
[Link](new VehicleInsurance(vehicleNo, vehicleType, customerName,
engineNo, chasisNo, phoneNo, type, premiumAmount, new Date(), underwriterId));
[Link]("Vehicle Insurance Created!");
}
}