using Domain.Entities;
using Domain.Generics;

namespace Models.Interfaces
{
    public interface IPhSCustomerRepository
    {
        Task<ECustomer> CreateAsync(ECustomer entity);
        Task<bool> DeleteAsync(int id);
        Task<PagedResult<ECustomer>> GetAllAsync(int page = 1, int pageSize = 50);
        Task<ECustomer?> GetByIdAsync(int id);
        Task<PagedResult<ECustomer>> SearchAsync(
            string? name,
            string? email,
            string? document,
            int page,
            int pageSize);
        Task<bool> UpdateAsync(ECustomer entity);
    }
}
