/** * Override this to open the main file. * <p />You should pass this record owner to the new main file (ie., new MyNewTable(thisRecordOwner)). * @return The new record. */ public Record openMainRecord() { return new Tour(this); } /**
boolean[] rgbRecordListeners = null; Object[] rgobjEnabledFields = null; int iOldOrder = this.getDefaultOrder(); try { rgbRecordListeners = this.setEnableListeners(false); rgobjEnabledFields = this.setEnableFieldListeners(false); fldDepartureDate = this.getField(Tour.DEPARTURE_DATE); if (fldDepartureDate.getRecord() == this) this.addNew(); this.setKeyArea(Tour.TOUR_HEADER_ID_KEY); subBehavior = new SubFileFilter(recTourHeader.getField(TourHeader.ID), Tour.TOUR_HEADER_ID, fldDepartureDate, Tour.DEPARTURE_DATE, null, null); this.addListener(subBehavior); this.close(); if (this.hasNext()) this.next(); this.removeListener(subBehavior, true); subBehavior = null; if (rgbRecordListeners != null) this.setEnableListeners(rgbRecordListeners); rgbRecordListeners = null; if (rgobjEnabledFields != null) this.setEnableFieldListeners(rgobjEnabledFields); rgobjEnabledFields = null;
/** * Convenience method. */ public TourEventScheduleModel getTourEventSchedule() { if (m_recTourEventSchedule == null) { m_recTourEventSchedule = new TourEventSchedule(this.findRecordOwner()); this.addListener(new FreeOnFreeHandler(m_recTourEventSchedule)); } return m_recTourEventSchedule; }
int iOldOrder = this.getDefaultOrder(); try { rgbRecordListeners = this.setEnableListeners(false); rgobjEnabledFields = this.setEnableFieldListeners(false); calDepDate = ((DateTimeField)fldDepDate).getCalendar(); if (calDepDate == null) calDepDate = ((DateTimeField)this.getField(Tour.DEPARTURE_DATE)).getCalendar(); if ((this.getOpenMode() & DBConstants.OPEN_REFRESH_AND_LOCK_ON_CHANGE_STRATEGY) != DBConstants.OPEN_REFRESH_AND_LOCK_ON_CHANGE_STRATEGY) this.setOpenMode(this.getOpenMode() | DBConstants.OPEN_REFRESH_AND_LOCK_ON_CHANGE_STRATEGY); this.addNew(); ((DateTimeField)this.getField(Tour.DEPARTURE_DATE)).setCalendar(calDepDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); if (strCode == null) strCode = DBConstants.BLANK; this.getField(Tour.CODE).setString(strCode, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); if ((strDescription == null) || (strDescription.length() == 0)) strDescription = recTourHeader.getField(TourHeader.DESCRIPTION).toString() + " - " + fldDepDate.toString(); this.getField(Tour.DESCRIPTION).setString(strDescription, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.TOUR_HEADER_ID).moveFieldToThis(recTourHeader.getField(TourHeader.ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); TourClass recTourClass = (TourClass)((ReferenceField)recTourHeader.getField(TourHeader.TOUR_CLASS_ID)).getReference(); recTourClass.fixBasedFields(); this.moveTourClassInfo(recTourClass); this.setEnableListeners(rgbRecordListeners); rgbRecordListeners = null; if (rgobjEnabledFields != null) this.setEnableFieldListeners(rgobjEnabledFields);
if (recTour.getEditMode() == DBConstants.EDIT_CURRENT) if ((recTour.getOpenMode() | DBConstants.LOCK_STRATEGY_MASK) == 0) recTour.setOpenMode(recTour.getOpenMode() | DBConstants.OPEN_LOCK_ON_EDIT_STRATEGY); // Error if already locked try { if (recTour.edit() != DBConstants.NORMAL_RETURN) return DBConstants.NORMAL_RETURN; // No problem - already locked } catch (DBException ex) { if (recTour.getListener(UpdateOnCloseHandler.class) == null) recTour.addListener(new UpdateOnCloseHandler(null)); // Make sure this is updated BaseField actionType = recTour.getField(Tour.TOUR_EVENT_ID); actionType.setValue(TourEvent.NO_EVENT); recTour.getField(Tour.NEXT_EVENT_DATE).setToLimit(DBConstants.END_SELECT_KEY); BaseField actionDate = recTour.getField(Tour.NEXT_EVENT_DATE); if (recTour.getField(Tour.DEPARTED).getState() == false) if (recTour.getField(Tour.DEPARTURE_DATE).compareTo(actionDate) <= 0) actionDate.moveFieldToThis(recTour.getField(Tour.DEPARTURE_DATE)); actionType.setValue(TourEvent.DEPARTURE); if (recTour.getField(Tour.SP_1).getState() == false) if (recTour.getField(Tour.SP_1_DATE).compareTo(actionDate) <= 0) actionDate.moveFieldToThis(recTour.getField(Tour.SP_1_DATE)); actionType.setValue(TourEvent.SPECIAL_1);
/** * Override this to add record listeners and filters to every screen where this is the main record. * @param screen The screen these listeners will be in. */ public void addScreenListeners(RecordOwner screen) { super.addScreenListeners(screen); this.getField(Tour.SERV_CONF).setEnabled(false); if (this.getField(Tour.MANUAL_TOUR_STATUS).getListener(DisableOnFieldHandler.class) == null) this.getField(Tour.MANUAL_TOUR_STATUS).addListener(new DisableOnFieldHandler(this.getField(Tour.TOUR_STATUS_ID), BooleanField.YES, false)); } /**
Tour recTour = (Tour)this.getRecord(Tour.TOUR_FILE); if (!ScreenConstants.HTML_SCREEN_TYPE.equalsIgnoreCase(this.getViewFactory().getViewSubpackage())) recTour.setupRecordListener(this, false, false); // I need to listen for record changes TourHeader recTourHdr = (TourHeader)this.getRecord(TourHeader.TOUR_HEADER_FILE); ReferenceField fldTourID = (ReferenceField)recBooking.getField(Booking.TOUR_ID); MoveOnValidHandler tourChangeHandler = (MoveOnValidHandler)recTour.getListener(MoveOnValidHandler.class); if (tourChangeHandler != null) recTour.removeListener(tourChangeHandler, true); recTour.addListener(new TourChangeHandler(recBooking)); recTour.addListener(new DisplayReadHandler(Tour.TOUR_HEADER_ID, recTourHdr, TourHeader.ID)); recTour.getField(Tour.TOUR_HEADER_ID).addListener(new MainReadOnlyHandler(null)); recBooking.addControlDefaults(recBookingControl, recProfileControl); listener.setEnabledListener(true); recTour.getField(Tour.DEPARTURE_DATE).addListener(listener = new MoveOnChangeHandler(this.getScreenRecord().getField(BookingScreenRecord.LAST_DATE), null, false, true)); listener.setRespondsToMode(DBConstants.READ_MOVE, true);
TourHeader recTourHeader = (TourHeader)((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReferenceRecord(); TourClass recTourClass = (TourClass)((ReferenceField)recTourHeader.getField(TourHeader.TOUR_CLASS_ID)).getReferenceRecord(this); Inventory recInventory = (Inventory)this.getRecord(Inventory.INVENTORY_FILE); try { if (((ReferenceField)recBooking.getField(Booking.TOUR_ID)).getReference() == null) recTour.addNew(); if (((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReference() == null) recTourHeader.addNew(); } catch (DBException ex) { recInventory.addListener(new FileRemoveBOnCloseHandler(fileBeh)); fileBeh = new EnableOnValidHandler(true, false); recTour.addListener(fileBeh); recInventory.addListener(new FileRemoveBOnCloseHandler(fileBeh)); recTour.addListener(fileBeh); // Make sure date remains enabled recInventory.addListener(new FileRemoveBOnCloseHandler(fileBeh)); recTour.addListener(fileBeh); // Make sure date remains enabled recInventory.addListener(new FileRemoveBOnCloseHandler(fileBeh)); recTourHeader.addListener(new LookupInventoryHandler(recInventory, iProductType, fldTourID, fldDepartureDate, null, null)); this.getScreenRecord().getField(TourEntryScreenRecord.LAND_CLASS_ID).addListener(new UpdatePMC(recTour.getField(Tour.PMC_CUTOFF))); if (recTour.getField(Tour.PMC_CUTOFF).getListener(UpdateLandClass.class) == null) recTour.getField(Tour.PMC_CUTOFF).addListener(new UpdateLandClass(this.getScreenRecord().getField(TourEntryScreenRecord.LAND_CLASS_ID))); recTour.addScreenListeners(this);
/** * AddMasterListeners Method. */ public void addMasterListeners() { super.addMasterListeners(); this.addListener(new NoDeleteModifyHandler(true, false)); this.getField(Tour.FINALIZED).addListener(new FinalizeHandler(null)); this.getField(Tour.ORDER_COMPONENTS).addListener(new TourOrderHandler(null)); this.getField(Tour.CANCELLED).addListener(new TourOrderHandler(null)); this.getField(Tour.TOUR_STATUS_SUMMARY).addListener(new UpdateTourStatusSummaryHandler(null)); ((TourStatusField)this.getField(Tour.TOUR_STATUS_ID)).getIconField(null).addListener(new TourStatusUpdateHandler(null)); this.addActionListeners(); } /**
FieldListener behCheckRange = new CheckRangeHandler(0, 2); screenQuery.getField(LookupScreenRecord.QUERY_KEY).addListener(behCheckRange); recTour.addListener(new FileRemoveBOnCloseHandler(behCheckRange)); screenQuery.getField(LookupScreenRecord.QUERY_KEY).addListener(behQueryKeyHandler); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(LookupScreenRecord.TOUR_HDR_START_DATE), ">=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_HDR_START_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(LookupScreenRecord.TOUR_HDR_END_DATE), "<=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_HDR_END_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new BitFileFilter(recTourHeader.getField(TourHeader.TOUR_TYPE), screenQuery.getField(LookupScreenRecord.TOUR_HDR_TOUR_TYPE))); FieldListener behInitOnChange = new InitOnChangeHandler(screenQuery.getField(LookupScreenRecord.START_TARGET_FIELD)); screenQuery.getField(LookupScreenRecord.QUERY_KEY).addListener(behInitOnChange); recTour.addListener(new FileRemoveBOnCloseHandler(behInitOnChange)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.TOUR_HEADER_ID), screenQuery.getField(LookupScreenRecord.TOUR_HEADER_ID), "=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_HEADER_ID).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.TOUR_STATUS_ID), screenQuery.getField(LookupScreenRecord.TOUR_STATUS_ID), "=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_STATUS_ID).addListener(new FieldReSelectHandler(this));
BookingDetail recBookingDetailNew = null; ApTrx recApTrxNew = null; RecordOwner recordOwner = this.findRecordOwner(); if (recBookingDetail == null) recApTrxAdd.addListener(new UpdateDepEstHandler(null)); int iOldOpenMode = this.getOpenMode(); try { this.setOpenMode(iOldOpenMode & ~DBConstants.OPEN_READ_ONLY); // Allow write (I don't know where this file has been) this.writeAndRefresh(); if (bAddNewVoucher) ApTrx recNewApTrx = recApTrxAdd.addNewApTrx(this.getField(Tour.ID), recVendor, intProductTypeID); iErrorCode = recNewApTrx.updateThisApTrx(tblBookingDetail, this, recVendor, intProductTypeID); ex.printStackTrace(); } finally { this.setOpenMode(iOldOpenMode); // Set it back if (recBookingDetailNew != null) recBookingDetailNew.free();
/** * FieldChanged Method. */ public int fieldChanged(boolean bDisplayOption, int iMoveMode) { Booking recBooking = (Booking)this.getOwner().getRecord(); Tour recTour = null; if (!recBooking.getField(Booking.TOUR_ID).isNull()) recTour = (Tour)((ReferenceField)recBooking.getField(Booking.TOUR_ID)).getReference(); if (recTour != null) if ((recTour.getEditMode() == DBConstants.EDIT_CURRENT) || (recTour.getEditMode() == DBConstants.EDIT_IN_PROGRESS)) { Record recTourHeader = ((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReference(); if (recTourHeader != null) if (recTourHeader.getField(TourHeader.TOUR_SERIES).getState() == false) { if (recBooking.getListener(WriteOnUpdateHandler.class) == null) recBooking.addListener(new WriteOnUpdateHandler(recTour, false)); boolean[] rgbEnabled = recTour.getField(m_iTourFieldSeq).setEnableListeners(false); recTour.getField(m_iTourFieldSeq).moveFieldToThis(this.getOwner()); recTour.getField(m_iTourFieldSeq).setEnableListeners(rgbEnabled); } } return super.fieldChanged(bDisplayOption, iMoveMode); }
TourHeader recTourHeader = (TourHeader)((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReferenceRecord(this.findRecordOwner()); try { recTourHeader.addNew(); if (recTourHeader.seek(DBConstants.EQUALS)) Date dateStart = (Date)properties.get(recTour.getField(Tour.DEPARTURE_DATE).getFieldName()); e.printStackTrace(); } finally { recTour.free(); recTourHeader.free();
/** * Order all the components for this tour. */ public void orderAllComponents() { if (this.getField(Tour.ORDER_COMPONENTS).getState() == false) return; BookingDetail recBookingDetail = new BookingDetail(this.findRecordOwner()); try { recBookingDetail.addListener(new SubFileFilter(this)); while (recBookingDetail.hasNext()) { recBookingDetail.next(); Record recBookingDetailCurrent = recBookingDetail.getTable().getCurrentTable().getRecord(); recBookingDetailCurrent.edit(); recBookingDetailCurrent.getField(BookingDetail.PRODUCT_STATUS_REQUEST).setData(Boolean.TRUE); if (recBookingDetailCurrent.getEditMode() == DBConstants.EDIT_IN_PROGRESS) recBookingDetailCurrent.set(); // Possible that the listeners re-wrote this record already. } } catch (DBException ex) { recBookingDetail.free(); } } /**
TourHeader recTourHeader = (TourHeader)((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReference(); fldDepDate.setDateTime(date, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); if (recBooking.getField(Booking.TOUR_ID).isNull()) iErrorCode = recTour.setupTourFromHeader(recTourHeader, fldDepDate, DBConstants.BLANK, DBConstants.BLANK); if (iErrorCode != DBConstants.NORMAL_RETURN) recBooking.edit(); recBooking.calcBookingDates(recTour, recTourHeader); recBooking.getField(Booking.TOUR_ID).moveFieldToThis(recTour.getField(Tour.ID)); recBooking.setupDefaultDesc(recTourHeader, fldDepDate); recBooking.getField(Booking.CODE).handleFieldChanged(DBConstants.DISPLAY, DBConstants.SCREEN_MOVE);
/** * GetSelectDate Method. */ public Date getSelectDate() { Tour recTour = (Tour)this.getRecord(Tour.TOUR_FILE); if (recTour != null) return ((DateTimeField)recTour.getField(Tour.DEPARTURE_DATE)).getDateTime(); return super.getSelectDate(); } /**
FieldListener behCheckRange = new CheckRangeHandler(0, 2); screenQuery.getField(TourHeaderScreenRecord.KEY_ORDER).addListener(behCheckRange); recTour.addListener(new FileRemoveBOnCloseHandler(behCheckRange)); screenQuery.getField(TourHeaderScreenRecord.KEY_ORDER).addListener(behQueryKeyHandler); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(TourHeaderScreenRecord.START_DEPARTURE_DATE), ">=", null, true)); screenQuery.getField(TourHeaderScreenRecord.START_DEPARTURE_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(TourHeaderScreenRecord.END_DEPARTURE_DATE), "<=", null, true)); screenQuery.getField(TourHeaderScreenRecord.END_DEPARTURE_DATE).addListener(new FieldReSelectHandler(this)); FieldListener behInitOnChange = new InitOnChangeHandler(screenQuery.getField(TourHeaderScreenRecord.DESCRIPTION)); screenQuery.getField(TourHeaderScreenRecord.KEY_ORDER).addListener(behInitOnChange); recTour.addListener(new FileRemoveBOnCloseHandler(behInitOnChange));
if ((recTour.getEditMode() == DBConstants.EDIT_CURRENT) || (recTour.getEditMode() == DBConstants.EDIT_IN_PROGRESS)) Record recTourHeader = ((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReference(); if (recTourHeader != null) if ((recTourHeader.getEditMode() == DBConstants.EDIT_CURRENT) || (recTourHeader.getEditMode() == DBConstants.EDIT_IN_PROGRESS))
/** * Open the main file. */ public Record openMainRecord() { return new Tour(this); } /**
/** * Move this tour class information to this tour. */ public void moveTourClassInfo(TourClass recTourClass) { this.getField(Tour.TOUR_STATUS_ID).moveFieldToThis(recTourClass.getField(TourClass.INITIAL_TOUR_STATUS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.AIR_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.AIR_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.AIR_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.AIR_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.HOTEL_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.HOTEL_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.HOTEL_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.HOTEL_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.LAND_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.LAND_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.LAND_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.LAND_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.PMC_CUTOFF).moveFieldToThis(recTourClass.getField(TourClass.PMC_CUTOFF), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CAR_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.CAR_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CAR_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.CAR_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.TRANSPORTATION_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.TRANSPORTATION_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.TRANSPORTATION_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.TRANSPORTATION_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CRUISE_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.CRUISE_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CRUISE_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.CRUISE_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.ITEM_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.ITEM_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.ITEM_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.ITEM_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); } /**