/** * 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 BookingAnswer(this); } /**
TourHeaderOption recTourHeaderOption = new TourHeaderOption(this.findRecordOwner()); try { recTourHeaderOption.setKeyArea(TourHeaderOption.TOUR_OR_OPTION_KEY); this.addNew(); this.getField(BookingAnswer.BOOKING_ID).moveFieldToThis(recBooking.getField(Booking.ID)); if (recBookingPax != null) this.getField(BookingAnswer.BOOKING_PAX_ID).moveFieldToThis(recBookingPax.getField(BookingPax.ID)); if (this.getField(BookingAnswer.BOOKING_PAX_ID).isNull()) this.getField(BookingAnswer.BOOKING_PAX_ID).setValue(0); this.getField(BookingAnswer.MODULE_ID).moveFieldToThis(fldTourHeaderID); this.getField(BookingAnswer.TOUR_HEADER_OPTION_ID).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.ID)); if (recTourHeaderOption.getField(TourHeaderOption.USE_TOUR_HEADER_OPTION_ID).getValue() != 0) this.getField(BookingAnswer.TOUR_HEADER_OPTION_ID).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.USE_TOUR_HEADER_OPTION_ID)); this.getField(BookingAnswer.TOUR_OR_OPTION).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.TOUR_OR_OPTION)); this.getField(BookingAnswer.TOUR_OR_OPTION_ID).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.TOUR_OR_OPTION_ID)); this.getField(BookingAnswer.SEQUENCE).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.SEQUENCE)); ((DateTimeField)this.getField(BookingAnswer.MODULE_START_DATE)).setDateTime(dateStart, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(BookingAnswer.DESCRIPTION).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.DESCRIPTION)); this.getField(BookingAnswer.ALWAYS_RESOLVE).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.ALWAYS_RESOLVE)); this.getField(BookingAnswer.ASK_FOR_ANSWER).moveFieldToThis(recTourHeaderOption.getField(TourHeaderOption.ASK_FOR_ANSWER)); if (this.getField(BookingAnswer.ASK_FOR_ANSWER).getState()) if (this.getField(BookingAnswer.ALWAYS_RESOLVE).getState()) recBooking.getField(Booking.ALWAYS_RESOLVE).setState(true); this.getField(BookingAnswer.DETAIL_OPTION_EXISTS).setState(true); if (recTourHeaderOption.getField(TourHeaderOption.DETAIL_PRICE_COUNT).getValue() > 0) this.getField(BookingAnswer.DETAIL_PRICE_EXISTS).setState(true);
recBookingAnswer = new BookingAnswer(this.findRecordOwner()); TourHeader recTourHeader = (TourHeader)((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReference(); BookingPax recBookingPax = new BookingPax(this.findRecordOwner()); recTourHeaderPricing = new TourHeaderLine(this.findRecordOwner()); Date dateDeparture = ((DateField)recTour.getField(Tour.DEPARTURE_DATE)).getDateTime(); recBookingAnswer.addDetailBehaviors(this, recTour); while (recBookingAnswer.hasNext()) recBookingAnswer.next(); BaseField fldDetailModuleID = recBookingAnswer.getField(BookingAnswer.MODULE_ID); Date dateDetailStart = ((DateTimeField)recBookingAnswer.getField(BookingAnswer.MODULE_START_DATE)).getDateTime(); if ((fldTourModuleID != null) && (!fldTourModuleID.equals(fldDetailModuleID))) continue; if (recBookingAnswer.getField(BookingAnswer.SELECTED).getState() == true) if (recBookingAnswer.getField(BookingAnswer.DETAIL_PRICE_EXISTS).getState() == true) && (recTour.getField(Tour.DEPARTURE_DATE).equals(recBookingAnswer.getField(BookingAnswer.MODULE_START_DATE)))) bSetupDetail = true; else iErrorCode = recBookingLine.setupAllDetail(recTourHeaderPricing, this, recTour, recBookingPax.getField(BookingPax.ID), recBookingAnswer.getField(BookingAnswer.TOUR_HEADER_OPTION_ID), fldDetailModuleID, dateDetailStart); if (iErrorCode != DBConstants.NORMAL_RETURN) return iErrorCode; } finally { if (recBookingAnswer != null)
fldBookingPaxID.setData(new Integer(0)); BookingAnswer recBookingAnswer = new BookingAnswer(this.findRecordOwner()); recBookingAnswer.addDetailBehaviors(this, recTour); int iErrorCode = recBookingAnswer.changeAllDetail(this, fldBookingPaxID, (BaseField)recTourHeader.getField(TourHeader.ID), dateOriginal, dateStart); recBookingAnswer.free();
if (this.getField(BookingAnswer.SELECTED).getState() == false) return DBConstants.NORMAL_RETURN; // Don't add if not selected for add. if (this.getField(BookingAnswer.DETAIL_ADDED).getState() == true) return DBConstants.NORMAL_RETURN; // already added. this.edit(); if (this.getField(BookingAnswer.DETAIL_AIR_HEADER_EXISTS).getState() == true) m_recBookingAirHeader = new BookingAirHeader(this.findRecordOwner()); m_recBookingAirHeader.addDetailBehaviors(recBooking, recTour); m_recTourHeaderAirHeader = new TourHeaderAirHeader(this.findRecordOwner()); iErrorCode = m_recBookingAirHeader.setupAllDetail(m_recTourHeaderAirHeader, recBooking, recTour, recBookingPax.getField(BookingPax.ID), this.getField(BookingAnswer.TOUR_HEADER_OPTION_ID), fldTourModuleID, dateStart); if (iErrorCode != DBConstants.NORMAL_RETURN) return iErrorCode; if (this.getField(BookingAnswer.DETAIL_PRICE_EXISTS).getState() == true) m_recBookingLine = new BookingLine(this.findRecordOwner()); m_recBookingLine.addDetailBehaviors(recBooking, recTour); m_recTourHeaderPricing = new TourHeaderLine(this.findRecordOwner()); iErrorCode = m_recBookingLine.setupAllDetail(m_recTourHeaderPricing, recBooking, recTour, recBookingPax.getField(BookingPax.ID), this.getField(BookingAnswer.TOUR_HEADER_OPTION_ID), fldTourModuleID, dateStart); if (iErrorCode != DBConstants.NORMAL_RETURN) return iErrorCode; if (this.getField(BookingAnswer.TOUR_DETAIL_EXISTS).getState() == true) m_recBookingDetail = new BookingDetail(this.findRecordOwner()); m_recBookingDetail.addDetailBehaviors(recBooking, recTour);
if (recBookingAnswer == null) recBookingAnswer = new BookingAnswer(this.findRecordOwner()); recBookingAnswerNew = (BookingAnswer)recBookingAnswer; iErrorCode = ((BookingAnswer)recBookingAnswer).setupAnswerDetail(TourHeaderOption.TOUR, (BaseField)recTourHeader.getField(TourHeader.ID), (BaseField)recTourHeader.getField(TourHeader.ID), this, (BookingPax)recBookingPax, dateStart, (BaseField)fldAskForAnswer, true); if (iErrorCode != DBConstants.NORMAL_RETURN) return iErrorCode; iErrorCode = ((BookingAnswer)recBookingAnswer).addAnswerDetail(this, (Tour)recTour, (BookingPax)recBookingPax, fldTourModuleID, dateStart); if (iErrorCode != DBConstants.NORMAL_RETURN)
RecordOwner recordOwner = recBookingAnswer.getRecordOwner(); Booking recBooking = (Booking)recordOwner.getRecord(Booking.BOOKING_FILE); Tour recTour = (Tour)recordOwner.getRecord(Tour.TOUR_FILE); BookingPax recBookingPax = (BookingPax)((ReferenceField)recBookingAnswer.getField(BookingAnswer.BOOKING_PAX_ID)).getReference(); if (recBookingPax.getField(BookingPax.ID).isNull()) recBookingPax.getField(BookingPax.ID).moveFieldToThis(recBookingAnswer.getField(BookingAnswer.BOOKING_PAX_ID)); BaseField fldTourModuleID = recBookingAnswer.getField(BookingAnswer.MODULE_ID); Date dateStart = ((DateTimeField)recBookingAnswer.getField(BookingAnswer.MODULE_START_DATE)).getDateTime(); if (this.getOwner().getState() == true) int iErrorCode = recBookingAnswer.addAnswerDetail(recBooking, recTour, recBookingPax, fldTourModuleID, dateStart); if (iErrorCode != DBConstants.NORMAL_RETURN) return iErrorCode;
/** * 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 BookingAnswer(this); } /**