using AutoMapper; using DigitalData.Core.CleanArchitecture.Application; using DigitalData.Core.Contracts.CultureServices; using DigitalData.Core.Contracts.Utilities.Service; using DigitalData.UserManager.Application.Contracts; using DigitalData.UserManager.Application.DTOs.User; using DigitalData.UserManager.Domain.Entities; using DigitalData.UserManager.Infrastructure.Contracts; namespace DigitalData.UserManager.Application.Services { public class UserService : CRUDService, IUserService { public UserService(IModuleService moduleService, IUserRepository repository, IKeyTranslationService translationService, IMapper mapper) : base(repository, translationService, mapper) { } public async Task>> ReadByModuleIdAsync(int moduleId) { var users = await _repository.ReadByModuleIdAsync(moduleId); IEnumerable readDTOs = MapOrThrow, IEnumerable>(users); return Successful(readDTOs); } public async Task>> ReadByGroupIdAsync(int groupId) { var users = await _repository.ReadByGroupIdAsync(groupId); IEnumerable readDTOs = MapOrThrow, IEnumerable>(users); return Successful(readDTOs); } public async Task>> ReadUnassignedByModuleIdAsync(int moduleId) { var users = await _repository.ReadUnassignedByModuleIdAsync(moduleId); IEnumerable readDTOs = MapOrThrow, IEnumerable>(users); return Successful(readDTOs); } public async Task>> ReadUnassignedByGroupIdAsync(int groupId) { var users = await _repository.ReadUnassignedByGroupIdAsync(groupId); IEnumerable readDTOs = MapOrThrow, IEnumerable>(users); return Successful(readDTOs); } } }