using MTWorkHR.Application.Models; using System.Threading.Tasks; namespace MTWorkHR.Application.Services.Interfaces { public interface IService<TEntity, TDto, TGetAllDto> where TEntity : class where TDto : class where TGetAllDto : class { Task<PagingResultDto<TGetAllDto>> GetAll(PagingInputDto pagingInputDto); Task<TDto> GetById(long id); Task Delete(long id); Task<TDto> Create(TDto input); Task<TDto> Update(TDto input); } public interface IService<TEntity, TDto, TUpdatDto, TGetAllDto> where TEntity : class where TDto : class where TUpdatDto : class where TGetAllDto : class { Task<PagingResultDto<TGetAllDto>> GetAll(PagingInputDto pagingInputDto); Task<TDto> GetById(long id); Task Delete(long id); Task<TDto> Create(TDto input); Task<TDto> Update(TUpdatDto input); } public interface IService<TEntity, TGetDto,TCreateDto, TUpdatDto, TGetAllDto> where TEntity : class where TGetDto : class where TCreateDto : class where TUpdatDto : class where TGetAllDto : class { Task<PagingResultDto<TGetAllDto>> GetAll(PagingInputDto pagingInputDto); Task<TGetDto> GetById(long id); Task Delete(long id); Task<TGetDto> Create(TCreateDto input); Task<TGetDto> Update(TUpdatDto input); } }