configuration.common().activationDepth(c.getActivationDepth());
configuration.common().updateDepth(c.getUpdateDepth());
configuration.common().objectClass(Owner.class).cascadeOnUpdate(true);
- configuration.common().objectClass(Owner.class).cascadeOnDelete(true);
+ configuration.common().objectClass(Booking.class).cascadeOnDelete(true);
configuration.common().objectClass(RuralHouse.class)
.cascadeOnUpdate(true);
+ configuration.common().objectClass(Offer.class)
+ .cascadeOnUpdate(true);
configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
}
try {
ObjectSet<Offer> of = db.queryByExample(offer);
RuralHouse rh = of.get(0).getRuralHouse();
- System.out.println(rh.offers.remove(of.get(0)));
+ System.out.println(rh.getAllOffers().remove(of.get(0)));
db.store(rh);
db.commit();
return false;
}
- // TODO this method should be improved.
public void acceptBooking(Offer of) {
- Offer off = new Offer(of.getOfferNumber(), of.getRuralHouse(),
- of.getFirstDay(), of.getLastDay(), of.getPrice());
+ Offer off = new Offer(of.getOfferNumber(), new RuralHouse(of
+ .getRuralHouse().getHouseName(), null, null, null, null), null,
+ null, 0);
if (c.isDatabaseLocal() == false)
openSDB();
else
try {
ObjectSet<Offer> result = db.queryByExample(off);
- this.deleteOffer(result.get(0));
- db.store(of);
+ db.delete(result.get(0));
+ RuralHouse rh = result.get(0).getRuralHouse();
+ of.setRuralHouse(rh);
+ rh.getAllOffers().remove(result.get(0));
+ rh.getAllOffers().add(of);
+ db.store(rh);
db.close();
} catch (Exception e) {
openDB();
try {
ObjectSet<Booking> result = db.queryByExample(b);
- ObjectSet<Client> result2 = db.queryByExample(b.getClient());
- db.delete(result.get(0));
- db.delete(result2.get(0));
+ result.get(0).getOffer().getBookings().remove(b);
+ db.store(result.get(0).getOffer());
db.commit();
} catch (Exception e) {
e.printStackTrace();