package com.viettel.campaign.service;

import com.viettel.campaign.web.dto.CustomerDTO;
import com.viettel.campaign.web.dto.CustomerListDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO;
import com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO;

public interface CustomerService {

    ResultDTO getAllCustomer(int page, int pageSize, String sort, long customerListId, long companySiteId);

    ResultDTO getCustomerId(Long customerId);

    ResultDTO searchAllCustomer(int page, int pageSize, String sort, long customerListId, long companySiteId, String name, String mobileNumber, String email);

    ResultDTO createCustomer(CustomerDTO customerDTO);

    ResultDTO deleteCustomer(CustomerRequestDTO customerRequestDTO);

    ResultDTO deleteIds(CustomerRequestDTO customerRequestDTO);

    // ------------ customer list ------------ //

    ResultDTO getAllCustomerList(int page, int pageSize, String sort, Long companySiteId);

    ResultDTO createCustomerList(CustomerListDTO customerListDTO);

    ResultDTO updateCustomerList(CustomerListDTO customerListDTO);

    ResultDTO deleteCustomerList(CustomerListDTO customerListDTO);

    ResultDTO deleteCustomerListIds(CustomerRequestDTO customerRequestDTO);

    ResultDTO searchCustomerList(SearchCustomerRequestDTO searchCustomerRequestDTO);

    // ------------ customer contact ------------ //

    ResultDTO getCustomerContact(Long customerId, Short contactType, String contact);
}
