NewPresence/domain/UseCase/UserUseCase.cs
2025-04-29 15:33:18 +03:00

57 lines
1.4 KiB
C#

using data.RemoteData.RemoteDatabase.DAO;
using data.Repository;
namespace domain.UseCase;
public class UserUseCase
{
private readonly IUserRepository _userRepository;
private readonly IGroupRepository _groupRepository;
public UserUseCase(IUserRepository userRepository, IGroupRepository groupRepository)
{
_userRepository = userRepository;
_groupRepository = groupRepository;
}
public List<UserDAO> GetAllUsers()
{
return _userRepository.GetAllUsers().Join(
_groupRepository.GetAllGroups(),
user=>user.GroupId,
group => group.Id,
(user, group) => new UserDAO
{
UserId = user.UserId,
FIO = user.FIO,
GroupId = user.GroupId,
}).ToList();
}
public bool RemoveUserByUserId(int UserId)
{
try
{
return _userRepository.RemoveUserByUserId(UserId);
}
catch (Exception ex)
{
return false;
}
}
public UserDAO FindUserByUserId(int UserId)
{
return _userRepository.FindUserByUserId(UserId);
}
public bool UpdateUserByUserId(int UserId, string UserName, int GroupId)
{
UserDAO user = new UserDAO
{
UserId = UserId,
FIO = UserName,
GroupId = GroupId
};
return _userRepository.UpdateUserByUserId(user);
}
}