using qdr.app.bundleboiler.data.Dtos;
using qdr.app.bundleboiler.data.Model;
using Quadarax.Foundation.Core.Business.Interface;
using Quadarax.Foundation.Core.Data;
using Quadarax.Foundation.Core.Data.Interface.Entity.Dto;

namespace qdr.app.bundleboiler.business.Services.Interfaces
{
    public interface IEnumerationService : IService
    {
        ResultBoolDto Contains(EnumClassType type, string code);
        ResultValueDto<EnumerationDto> Get(long id);
        ResultValueDto<EnumerationDto> Get(EnumClassType type, string code);
        ResultsValueDto<EnumerationDto> GetAll(IPaging page, params EnumClassType[]? classes);

        ResultValueDto<EnumerationDto> Create(EnumerationDto dto);
        ResultValueDto<EnumerationDto> Update(EnumerationDto dto);
        ResultBoolDto Delete(long id);
    }
}
