59 lines
2.8 KiB
C#
59 lines
2.8 KiB
C#
|
using data.Exception;
|
|||
|
using data.LocalData;
|
|||
|
using data.RemoteData.DAO;
|
|||
|
using domain.Models;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
|
|||
|
namespace data.Repository
|
|||
|
{
|
|||
|
public class UserRepositoryImpl : IUserRepository
|
|||
|
{
|
|||
|
private readonly List<UserLocalEntity> _users = LocalStaticData.users; // Локальный список пользователей
|
|||
|
|
|||
|
// Получить всех пользователей
|
|||
|
public IEnumerable<UserLocalEntity> GetAllUsers => _users;
|
|||
|
|
|||
|
// Удалить пользователя по GUID
|
|||
|
// <param name="userGuid">Уникальный идентификатор пользователя
|
|||
|
// True, если пользователь удален
|
|||
|
// Исключение, если пользователь не найден
|
|||
|
public bool RemoveUserByGuid(Guid userGuid)
|
|||
|
{
|
|||
|
var user = _users.FirstOrDefault(u => u.Guid == userGuid);
|
|||
|
if (user == null)
|
|||
|
throw new UserNotFoundException(userGuid); // Если пользователь не найден, выбрасываем исключение
|
|||
|
|
|||
|
_users.Remove(user); // Удаляем пользователя
|
|||
|
return true; // Возвращаем true, если удаление успешно
|
|||
|
}
|
|||
|
|
|||
|
// Обновить данные пользователя
|
|||
|
// <param name="user">Объект с новыми данными
|
|||
|
// Обновленный пользователь</returns>
|
|||
|
// <exception cref="UserNotFoundException">Исключение, если пользователь не найден
|
|||
|
public UserLocalEntity UpdateUser(UserLocalEntity user)
|
|||
|
{
|
|||
|
var existingUser = _users.FirstOrDefault(u => u.Guid == user.Guid);
|
|||
|
if (existingUser == null)
|
|||
|
throw new UserNotFoundException(user.Guid); // Если пользователь не найден, выбрасываем исключение
|
|||
|
|
|||
|
existingUser.FIO = user.FIO; // Обновляем имя пользователя
|
|||
|
existingUser.GroupID = user.GroupID; // Обновляем группу пользователя
|
|||
|
|
|||
|
return existingUser; // Возвращаем обновленного пользователя
|
|||
|
}
|
|||
|
|
|||
|
// Получить список пользователей с их GUID и именами
|
|||
|
// Список объектов UserDao
|
|||
|
public List<UserDao> GetUserNames()
|
|||
|
{
|
|||
|
return _users.Select(u => new UserDao
|
|||
|
{
|
|||
|
Guid = u.Guid, // Уникальный идентификатор пользователя
|
|||
|
FIO = u.FIO // Полное имя пользователя
|
|||
|
}).ToList();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|