import [Link]; import [Link]; import [Link]; import utils.*; import db.
DbConnect; public class AdminServer { private Logger log = new Logger(); private int nr_loc_ocup; private int computePrice(int duration){ return duration*30; } public String adaugare_Zbor (String source, String dest, int departureDay, int departureHour, int duration, int numberOfSeats, String flightID){ //departureDay a anului (intre 1 si 365) // ora departureHour (toate zborurile decoleaza la ora fixa, intre 0 si 23) if(departureDay<1||departureDay>365) return "Verify departure day (must be int 1-365)"; if(departureHour<0||departureHour>23) return "Verify departure hour (must be int 0-23)"; ResultSet rs; String query = new String(); try { query `Locuri_ocupate`, `Pret`)" + = "INSERT INTO `Curse` (`ID`, `Start`, `Stop`, `Ora_plecare`, `Zi_plecare`, `Durata`, `Nr_locuri_disp`, " VALUES ('"+ flightID+"', '"+ source+"', '"+ dest+"', '"+ departureHour+"', '"+ departureDay+"', '"+ duration+"', '"+ departureHour+"', '"+ 0+"', '"+ computePrice(duration)+"');"; [Link](query); [Link](query); } catch (SQLException e) { // TODO Auto-generated catch block [Link](); } return "Succesfully added new flight!"; } public void listFlights(String padding){ ResultSet rs; String query = new String(); try {
query = "Select ID, Start,Stop,Zi_plecare,Ora_plecare from Curse ;"; [Link](query); rs = [Link](query); while([Link]()){ int flightID = [Link](1); String start = [Link](2); String stop = [Link](3); int zipl = [Link](4); int opl = [Link](5); [Link](padding+"["+flightID+";"+start+"->"+stop+";"+zipl+"-"+opl+":00]"); } } catch (SQLException e) { // TODO Auto-generated catch block [Link](); }
} public boolean checkFlighID(String flightID){ ResultSet rs; String query = new String(); if([Link]("")){
[Link]("Invalid flight ID"); return false; } try { query = "Select Locuri_ocupate from Curse where ID='"+flightID+"';"; [Link](query); rs = [Link](query); if([Link]()){ int nr_loc_ocup = [Link](1); [Link]("Found requested flight:"+flightID); //[Link]("Schedueling:"+nr_loc_ocup+"to delete from booked"); return true; } } catch (SQLException e) { // TODO Auto-generated catch block [Link](); } return false; } /** * anulare Zbor va sterge informatia referitoare la zborul identificat prin flightID (zborul fiind anulat). * @param flightID */ public String anulare_Zbor (String flightID){ ResultSet rs; String query = new String(); if([Link]("")) return "";
try { query = "DELETE from Curse where ID='"+flightID+"';"; [Link](query); query = "SELECT ID,Nr_bilete FROM Booked WHERE ID_Zboruri LIKE '%"+flightID+";%';"; [Link](query); rs = [Link](query); ArrayList<String>id_booking_del = new ArrayList<String>(); while([Link]()){ String id_booking = [Link](1); [Link](id_booking); id_booking_del.add(id_booking); int nr_bilete = [Link](2); nr_loc_ocup -= nr_bilete; } for(int i = 0; i < id_booking_del.size(); i++){ query = "DELETE from Booked where ID='"+id_booking_del.get(i)+"' ;"; [Link](query); } if(nr_loc_ocup==0&&id_booking_del.size()>0) [Link]("Succesfully canceled all bookings"); } catch (SQLException e) { // TODO Auto-generated catch block [Link](); } return "Succesfully deleted flight!";