/*
 * Arrebol Consultancy copyright.
 * 
 * This code belongs to Arrebol Consultancy
 * its use, redistribution or modification are prohibited 
 * without written authorization from Arrebol Consultancy.
 */
package com.arrebol.apc.service.admin;

import com.arrebol.apc.model.catalog.RouteCtlg;
import com.arrebol.apc.model.enums.ActiveStatus;
import com.arrebol.apc.model.enums.CustomerClassification;
import com.arrebol.apc.model.enums.PeopleType;
import com.arrebol.apc.model.views.CustomerView;
import com.arrebol.apc.service.LazyDataModelService;

/**
 *
 * @author Carlos Janitzio Zavala Lopez <janitzio.zavala@arrebol.com.mx>
 */
public interface CustomerService extends LazyDataModelService<CustomerView> {

    /**
     *
     * @param type
     * @param peopleIdToUpdate
     * @param lastUpdatedBy
     * @return
     */
    boolean updatePeopleTypeById(PeopleType type, String peopleIdToUpdate, String lastUpdatedBy);

    /**
     *
     * @param status
     * @param peopleIdToUpdate
     * @param lastUpdatedBy
     * @return
     */
    boolean updatePeopleByStatus(ActiveStatus status, String peopleIdToUpdate, String lastUpdatedBy);
    
    /**
     * 
     * @param classification
     * @param peopleIdToUpdate
     * @param lastUpdatedBy
     * @return 
     */
    public boolean updatePeopleByClassification(CustomerClassification classification, String peopleIdToUpdate, String lastUpdatedBy);

    /**
     *
     * @param route
     * @param peopleIdToUpdate
     * @param lastUpdatedBy
     * @return
     */
    boolean updateRouteById(RouteCtlg route, String peopleIdToUpdate, String lastUpdatedBy);
}
