using Domain.Entities;
using Domain.Generics;

namespace Models.Interfaces
{
    public interface IPhLSMProductDivisionRepository
    {
        Task<ELSProductDivision> CreateAsync(ELSProductDivision entity);
        Task<bool> DeleteAsync(int id);
        Task<bool> ExistsByCodeAsync(string code);
        Task<PagedResult<ELSProductDivision>> GetAllAsync(int page = 1, int pageSize = 50);
        Task<List<string>> GetAllCodesAsync();
        Task<ELSProductDivision?> GetByIdAsync(int id);
        Task<PagedResult<ELSProductDivision>> SearchAsync(string? term, int page = 1, int pageSize = 50);
        Task<bool> UpdateAsync(ELSProductDivision entity);
    }
}
