Username is saved hashed and password hashed and salted
[RRRRHHHH_Code] / ruralHouses / src / businessLogic / BookingManager.java
index 18670e1..32fc3be 100644 (file)
@@ -1,10 +1,17 @@
 package businessLogic;
 
+import java.util.Date;
+import java.util.Vector;
+
 import com.db4o.ObjectContainer;
 import com.db4o.ObjectSet;
 
 import dataAccess.DB4oManager;
-
+import domain.Booking;
+import domain.Offer;
+import domain.Owner;
+import domain.RuralHouse;
+import exceptions.OfferCanNotBeBooked;
 
 public final class BookingManager {
 
@@ -13,37 +20,79 @@ public final class BookingManager {
 
        private static BookingManager theBookingManager;
 
-       private BookingManager() {}
-       
+       public BookingManager() {
+               try {
+                       this.dbMngr = DB4oManager.getInstance();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
        /**
-        * This method returns the next Booking number 
+        * This method returns the next Booking number
         * 
         * @return the book number
         */
-    public static int getNumber(){
-               ObjectContainer db=DB4oManager.getContainer();
-       BookingManager b=getInstance();
-       b.bookingNumber++;
-       db.store(b);
-       db.commit();
-       return b.bookingNumber;
-    }
-       
+       public static int getNumber() {
+               ObjectContainer db = DB4oManager.getContainer();
+               BookingManager b = getInstance();
+               b.bookingNumber++;
+               db.store(b);
+               db.commit();
+               return b.bookingNumber;
+       }
+
        /**
-        * This method returns the instance of the BookingManager class 
+        * This method returns the instance of the BookingManager class
         * 
         * @return the booking manager
         */
-       public static BookingManager getInstance()  {
-               ObjectContainer db=DB4oManager.getContainer();
-           BookingManager b = new BookingManager();
-           ObjectSet result = db.queryByExample(b);
-           if (!result.hasNext()){
-               theBookingManager = new BookingManager();
-               db.store(theBookingManager);
-               db.commit();
-           } else theBookingManager=(BookingManager)result.next();
+       public static BookingManager getInstance() {
+               ObjectContainer db = DB4oManager.getContainer();
+               BookingManager b = new BookingManager();
+               ObjectSet<BookingManager> result = db.queryByExample(b);
+               if (!result.hasNext()) {
+                       theBookingManager = new BookingManager();
+                       db.store(theBookingManager);
+                       db.commit();
+               } else
+                       theBookingManager = (BookingManager) result.next();
                return theBookingManager;
        }
-       
+
+       public void removeBooking(Booking B) {
+               // TODO
+
+       }
+
+       public Vector<Booking> getAllBookings(Owner ow) {
+               Vector<Booking> books = new Vector<Booking>();
+               for (RuralHouse rh : ow.getRuralHouses()) {
+                       Vector<Offer> off = rh.getAllOffers();
+                       for (Offer of : off) {
+                               System.out.print(of.toString());
+                               if (of.getBooking() != null) {
+                                       
+                                       books.add(of.getBooking());
+                               }
+                       }
+               }
+               return books;
+       }
+
+       /**
+        * This method creates a book with a corresponding parameters
+        * 
+        * @param First
+        *            day, last day, house number and telephone
+        * @return a book
+        */
+       public Booking createBooking(RuralHouse ruralHouse, Date firstDate,
+                       Date lastDate, String bookTelephoneNumber)
+                       throws OfferCanNotBeBooked {
+
+               return dbMngr.createBooking(ruralHouse, firstDate, lastDate,
+                               bookTelephoneNumber);
+       }
+
 }
\ No newline at end of file