Search in sources :

Example 1 with CustomerDetailsType

use of org.talend.services.crm.types.CustomerDetailsType in project tesb-rt-se by Talend.

the class CRMServiceImpl method getCustomerData.

// ####################################################
// Private methods
// ####################################################
private CustomerDetailsType getCustomerData(LoginUserType login) {
    // TODO Auto-generated method stub
    CustomerDetailsType customer = factory.createCustomerDetailsType();
    // Defaults
    customer.setId(0);
    customer.setGender("M");
    customer.setCity("Bonn");
    customer.setStreet("Straessensweg 10");
    customer.setZip("53113");
    customer.setEmail("info@talend.de");
    customer.setStatus(CRMStatusType.NONE);
    String user = login.getUsername();
    if (user != null) {
        if (user.contains("jdoe")) {
            customer.setId(92301);
            customer.setStatus(CRMStatusType.NORMAL);
            customer.setName("John Doe");
        } else if (user.contains("bbrindle")) {
            customer.setId(50010);
            customer.setStatus(CRMStatusType.GOLD);
            customer.setName("Bernardo Brindle");
        } else if (user.contains("rlambert")) {
            customer.setId(41250);
            customer.setStatus(CRMStatusType.PLATINUM);
            customer.setName("Ricardo Lambert");
        } else if (user.contains("aebert")) {
            customer.setId(45229);
            customer.setStatus(CRMStatusType.PLATINUM);
            customer.setName("Andrea Ebert");
            customer.setGender("F");
            customer.setCity("Munich");
            customer.setStreet("Hohenlindnerstrasse 11b");
            customer.setZip("85622");
            customer.setEmail("info@talend.de");
        }
        customer.setUsername(user);
    }
    // Overwrite Email & Name
    if ((login.getEmail() != null) && (login.getEmail().length() > 0)) {
        customer.setEmail(login.getEmail());
    }
    if ((login.getName() != null) && (login.getName().length() > 0)) {
        customer.setName(login.getName());
    }
    return customer;
}
Also used : CustomerDetailsType(org.talend.services.crm.types.CustomerDetailsType)

Example 2 with CustomerDetailsType

use of org.talend.services.crm.types.CustomerDetailsType 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 3 with CustomerDetailsType

use of org.talend.services.crm.types.CustomerDetailsType 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 4 with CustomerDetailsType

use of org.talend.services.crm.types.CustomerDetailsType 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 5 with CustomerDetailsType

use of org.talend.services.crm.types.CustomerDetailsType in project tesb-rt-se by Talend.

the class CRMServiceImpl method getCRMInformation.

// ####################################################
// Public methods
// ####################################################
/**
 * {@inheritDoc}
 */
public org.talend.services.crm.types.CustomerDetailsType getCRMInformation(org.talend.services.crm.types.LoginUserType login) {
    // 
    logData("getCRMInformation", "request", login);
    // Load customer data
    CustomerDetailsType customer = getCustomerData(login);
    logData("getCRMInformation", "response", customer);
    return customer;
}
Also used : CustomerDetailsType(org.talend.services.crm.types.CustomerDetailsType)

Aggregations

CustomerDetailsType (org.talend.services.crm.types.CustomerDetailsType)5 ConfirmationType (org.talend.services.reservation.types.ConfirmationType)3 RESCarType (org.talend.services.reservation.types.RESCarType)3 RESStatusType (org.talend.services.reservation.types.RESStatusType)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