Admin Cindy
Admin Cindy
Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Time;
import java.util.Scanner;
// Admin class
class Admin extends User {
public Admin(int userId, String username, String password) {
super(userId, username, password); // Call the parent constructor
}
@Override
public void handleActions() {
while (true) {
System.out.println("Welcome, Admin!");
System.out.println("1. Add a new flight");
System.out.println("2. View all flights");
System.out.println("3. Log out");
System.out.print("Choose an option: ");
int choice = AerowayBookingSystem.scanner.nextInt();
AerowayBookingSystem.scanner.nextLine(); // consume newline
switch (choice) {
case 1 -> AerowayBookingSystem.addFlight();
case 2 -> AerowayBookingSystem.viewFlights();
case 3 -> {
System.out.println("Logging out...");
return;
}
default -> System.out.println("Invalid choice.");
}
}
}
}
switch (choice) {
case 1 -> AerowayBookingSystem.viewFlights();
case 2 -> AerowayBookingSystem.bookFlight(userId);
case 3 -> AerowayBookingSystem.viewBookings(userId);
case 4 -> {
System.out.println("Logging out...");
return;
}
default -> System.out.println("Invalid choice.");
}
}
}
}
switch (choice) {
case 1 -> register();
case 2 -> login();
case 3 -> {
System.out.println("Exiting system...");
System.exit(0);
}
default -> System.out.println("Invalid choice. Please try again.");
}
}
}
if (rs.next()) {
int userId = rs.getInt("id");
boolean isAdmin = rs.getBoolean("isAdmin");
User user;
if (isAdmin) {
user = new Admin(userId, username, password); // Admin
constructor
} else {
user = new RegularUser(userId, username, password); //
RegularUser constructor
}
user.handleActions();
} else {
System.out.println("Invalid credentials.");
}
} catch (SQLException e) {
System.out.println("Error: " + e.getMessage());
}
}
System.out.println("Available Flights:");
while (rs.next()) {
System.out.println("Flight ID: " + rs.getInt("flight_id"));
System.out.println("Flight Name: " + rs.getString("flight_name"));
System.out.println("Departure: " + rs.getString("departure"));
System.out.println("Destination: " + rs.getString("destination"));
System.out.println("Date: " + rs.getDate("date"));
System.out.println("Time: " + rs.getTime("time"));
System.out.println("Status: " + rs.getString("status"));
System.out.println("Cost: $" + rs.getDouble("cost"));
System.out.println("---------------------------------");
}
} catch (SQLException e) {
System.out.println("Error: " + e.getMessage());
}
}
if (flightRs.next()) {
double flightCost = flightRs.getDouble("cost");
String flightName = flightRs.getString("flight_name");
String departure = flightRs.getString("departure");
String destination = flightRs.getString("destination");
while (rs.next()) {
System.out.println("Ticket Number: " +
rs.getString("ticket_number"));
System.out.println("Flight: " + rs.getString("flight_name"));
System.out.println("Departure: " + rs.getString("departure"));
System.out.println("Destination: " + rs.getString("destination"));
System.out.println("Date: " + rs.getDate("date"));
System.out.println("Time: " + rs.getTime("time"));
System.out.println("Status: " + rs.getString("status"));
System.out.println("Cost: $" + rs.getDouble("cost"));
System.out.println("---------------------------------");
}
} catch (SQLException e) {
System.out.println("Error: " + e.getMessage());
}
}
}