20 lines
867 B
C#

using DigitalData.Core.Contracts.Application;
using DigitalData.UserManager.Application.DTOs.User;
using DigitalData.UserManager.Domain.Entities;
using DigitalData.UserManager.Infrastructure.Contracts;
namespace DigitalData.UserManager.Application.Contracts
{
public interface IUserService : ICRUDService<IUserRepository, UserCreateDto, UserReadDto, UserUpdateDto, User, int>
{
Task<IServiceResult<IEnumerable<UserReadDto>>> ReadByModuleIdAsync(int moduleId);
Task<IServiceResult<IEnumerable<UserReadDto>>> ReadUnassignedByModuleIdAsync(int moduleId);
Task<IServiceResult<IEnumerable<UserReadDto>>> ReadByGroupIdAsync(int groupId);
Task<IServiceResult<IEnumerable<UserReadDto>>> ReadUnassignedByGroupIdAsync(int groupId);
Task<IServiceResult<int>> CreateAsync(UserPrincipalDto upDto);
}
}