using Domain.Entities;
using Domain.Generics;

namespace Models.Interfaces
{
    public interface IPhLSMUnitOfMeasureRepository
    {
        Task<PagedResult<ELSUnitOfMeasure>> GetAllAsync(int page = 1, int pageSize = 100);

        /// <summary>
        /// Retorna true si el código existe
        /// </summary>
        Task<bool> ExistsByCodeAsync(string code);
        Task<List<string>> GetAllCodesAsync();
        Task<ELSUnitOfMeasure?> GetByIdAsync(int id);
        Task<int> AddAsync(ELSUnitOfMeasure model);
        Task UpdateAsync(ELSUnitOfMeasure model);
        Task<PagedResult<ELSUnitOfMeasure>> SearchAsync(string? text, int page = 1, int pageSize = 100);
    }
}
