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();
}
Aggregations