Search in sources :

Example 1 with RESStatusType

use of org.talend.services.reservation.types.RESStatusType in project tesb-rt-se by Talend.

the class CarRentalClientGui method actionPerformed.

public void actionPerformed(ActionEvent e) {
    if (e.getSource().equals(cmdFind)) {
        if (search != null) {
            search.search((String) cUser.getSelectedItem(), tPickupDate.getText(), tReturnDate.getText());
            ctm.setData(search.getCars());
        }
        cardlist.show(content, SELECT);
    } else if (e.getSource().equals(cmdFindCancel) || e.getSource().equals(cmdClose)) {
        this.appFrame.dispose();
    } else if (e.getSource().equals(cmdSelect)) {
        int pos = selectTable.getSelectedRow();
        if (pos > -1) {
            if (search != null) {
                RESStatusType resStatus = reserve.reserveCar(search.getCustomer(), search.getCars().get(pos), tPickupDate.getText(), tReturnDate.getText());
                ConfirmationType confirm = reserve.getConfirmation(resStatus, search.getCustomer(), search.getCars().get(pos), tPickupDate.getText(), tReturnDate.getText());
                RESCarType car = confirm.getCar();
                CustomerDetailsType customer = confirm.getCustomer();
                lStatus.setText(confirm.getDescription());
                tReservationId.setText(confirm.getReservationId());
                tName.setText(customer.getName());
                tEMail.setText(customer.getEmail());
                tCity.setText(customer.getCity());
                tStatus.setText(customer.getStatus().name());
                tBrand.setText(car.getBrand());
                tModel.setText(car.getDesignModel());
                tPickup.setText(confirm.getFromDate());
                tReturn.setText(confirm.getToDate());
                tDaily.setText(car.getRateDay());
                tWeekEnd.setText(car.getRateWeekend());
                tCredits.setText(confirm.getCreditPoints().toString());
            }
            cardlist.show(content, CONFIRM);
        }
    } else if (e.getSource().equals(cmdSelectBack)) {
        cardlist.show(content, FIND);
    }
}
Also used : ConfirmationType(org.talend.services.reservation.types.ConfirmationType) RESCarType(org.talend.services.reservation.types.RESCarType) CustomerDetailsType(org.talend.services.crm.types.CustomerDetailsType) RESStatusType(org.talend.services.reservation.types.RESStatusType)

Example 2 with RESStatusType

use of org.talend.services.reservation.types.RESStatusType in project tesb-rt-se by Talend.

the class CarRent method racRent.

/**
 * Rent a car available in the last serach result
 * @param intp - the command interpreter instance
 */
public void racRent() {
    pos = pos - 1;
    String userName = CarSearch.getLastSearchParams()[0];
    String pickupDate = CarSearch.getLastSearchParams()[1];
    String returnDate = CarSearch.getLastSearchParams()[2];
    this.searcher.search(userName, pickupDate, returnDate);
    if (searcher != null && searcher.getCars() != null && pos < searcher.getCars().size() && searcher.getCars().get(pos) != null) {
        RESStatusType resStatus = reserver.reserveCar(searcher.getCustomer(), searcher.getCars().get(pos), pickupDate, returnDate);
        ConfirmationType confirm = reserver.getConfirmation(resStatus, searcher.getCustomer(), searcher.getCars().get(pos), pickupDate, returnDate);
        RESCarType car = confirm.getCar();
        CustomerDetailsType customer = confirm.getCustomer();
        System.out.println(MessageFormat.format(CONFIRMATION, confirm.getDescription(), confirm.getReservationId(), customer.getName(), customer.getEmail(), customer.getCity(), customer.getStatus(), car.getBrand(), car.getDesignModel(), confirm.getFromDate(), confirm.getToDate(), padl(car.getRateDay(), 10), padl(car.getRateWeekend(), 10), padl(confirm.getCreditPoints().toString(), 7)));
    } else {
        // $NON-NLS-1$
        System.out.println("Invalid selection: " + (pos + 1));
    }
}
Also used : ConfirmationType(org.talend.services.reservation.types.ConfirmationType) RESCarType(org.talend.services.reservation.types.RESCarType) CustomerDetailsType(org.talend.services.crm.types.CustomerDetailsType) RESStatusType(org.talend.services.reservation.types.RESStatusType)

Example 3 with RESStatusType

use of org.talend.services.reservation.types.RESStatusType in project tesb-rt-se by Talend.

the class AppController method reserve.

@RequestMapping(value = "/reserve", method = RequestMethod.POST)
public String reserve(@RequestParam(value = "carIndex", required = false) Integer carIndex, Model model, HttpSession session) {
    if (session.isNew()) {
        return redirectToMainPage();
    }
    if (carIndex != null && carIndex >= 0) {
        List<RESCarType> cars = searchModel.getCars();
        if (carIndex < cars.size()) {
            CustomerDetailsType customerDetails = searchModel.getCustomer();
            RESCarType selectedCar = cars.get(carIndex);
            SearchRequestParameters requestParams = getSessionAttribute(session, SearchRequestParameters.class);
            RESStatusType resStatus = null;
            ConfirmationType confirm = null;
            try {
                resStatus = reserveModel.reserveCar(customerDetails, selectedCar, requestParams.getPickupDate(), requestParams.getReturnDate());
                confirm = reserveModel.getConfirmation(resStatus, customerDetails, selectedCar, requestParams.getPickupDate(), requestParams.getReturnDate());
            } catch (Exception e) {
                model.addAttribute("excptMessage", e);
                return "error";
            }
            setSessionAttribute(session, ConfirmationType.class, confirm);
            RESStatucCodeType code = confirm.getDescription().contains("failed") ? RESStatucCodeType.FAILED : RESStatucCodeType.OK;
            setSessionAttribute(session, RESStatucCodeType.class, code);
            setSessionAttribute(session, Stages.class, Stages.RESERVATION_INFO);
        }
    }
    return redirectToMainPage();
}
Also used : ConfirmationType(org.talend.services.reservation.types.ConfirmationType) RESCarType(org.talend.services.reservation.types.RESCarType) RESStatucCodeType(org.talend.services.reservation.types.RESStatucCodeType) CustomerDetailsType(org.talend.services.crm.types.CustomerDetailsType) RESStatusType(org.talend.services.reservation.types.RESStatusType) SearchRequestParameters(org.talend.esb.client.app.model.SearchRequestParameters) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 4 with RESStatusType

use of org.talend.services.reservation.types.RESStatusType in project tesb-rt-se by Talend.

the class ReservationServiceImpl method startCarReservation.

private RESStatusType startCarReservation(ReservationType reservation) {
    // 
    RESStatusType status = resFactory.createRESStatusType();
    status.setCode(RESStatucCodeType.OK);
    status.setId(generateID());
    status.setDescription("Your reservation is booked!");
    return status;
}
Also used : RESStatusType(org.talend.services.reservation.types.RESStatusType)

Example 5 with RESStatusType

use of org.talend.services.reservation.types.RESStatusType in project tesb-rt-se by Talend.

the class ReservationServiceImpl method submitCarReservation.

/**
 * {@inheritDoc}
 */
public org.talend.services.reservation.types.RESStatusType submitCarReservation(org.talend.services.reservation.types.ReservationType reservation) {
    // 
    logData("submitCarReservation", "request", reservation);
    // Load customer data
    RESStatusType status = startCarReservation(reservation);
    logData("submitCarReservation", "response", status);
    return status;
}
Also used : RESStatusType(org.talend.services.reservation.types.RESStatusType)

Aggregations

RESStatusType (org.talend.services.reservation.types.RESStatusType)5 CustomerDetailsType (org.talend.services.crm.types.CustomerDetailsType)3 ConfirmationType (org.talend.services.reservation.types.ConfirmationType)3 RESCarType (org.talend.services.reservation.types.RESCarType)3 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)1 SearchRequestParameters (org.talend.esb.client.app.model.SearchRequestParameters)1 RESStatucCodeType (org.talend.services.reservation.types.RESStatucCodeType)1