Search in sources :

Example 1 with RESStatucCodeType

use of org.talend.services.reservation.types.RESStatucCodeType 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)

Aggregations

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