2024-11-17 16:24:01 +00:00
|
|
|
|
using Demo.Data.Exceptions;
|
|
|
|
|
using Demo.Data.LocalData;
|
|
|
|
|
using Demo.Data.RemoteData.RemoteDataBase.DAO;
|
2024-10-19 21:12:06 +00:00
|
|
|
|
using Demo.domain.Models;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
namespace Demo.Data.Repository
|
|
|
|
|
{
|
2024-11-17 16:24:01 +00:00
|
|
|
|
public class UserRepositoryImpl : IUserRepository
|
2024-10-19 21:12:06 +00:00
|
|
|
|
{
|
2024-11-17 16:24:01 +00:00
|
|
|
|
private List<UserLocalEnity> _users;
|
2024-10-19 21:12:06 +00:00
|
|
|
|
|
2024-11-17 16:24:01 +00:00
|
|
|
|
public UserRepositoryImpl()
|
|
|
|
|
{
|
|
|
|
|
_users = LocalStaticData.users;
|
2024-10-19 21:12:06 +00:00
|
|
|
|
}
|
2024-11-17 16:24:01 +00:00
|
|
|
|
public IEnumerable<UserLocalEnity> GetAllUsers => _users;
|
2024-10-19 21:12:06 +00:00
|
|
|
|
|
2024-11-17 16:24:01 +00:00
|
|
|
|
// Метод удаления пользователя по Guid
|
2024-10-19 21:12:06 +00:00
|
|
|
|
public bool RemoveUserByGuid(Guid userGuid)
|
|
|
|
|
{
|
2024-11-17 16:24:01 +00:00
|
|
|
|
// Ищем пользователя в списке по его Guid
|
|
|
|
|
var user = _users.FirstOrDefault(u => u.Guid == userGuid);
|
2024-10-19 21:12:06 +00:00
|
|
|
|
|
2024-11-17 16:24:01 +00:00
|
|
|
|
// Если пользователь не найден
|
|
|
|
|
if (user == null) throw new UserNotFoundException(userGuid);
|
2024-10-19 21:12:06 +00:00
|
|
|
|
|
2024-11-17 16:24:01 +00:00
|
|
|
|
// Удаляем пользователя
|
|
|
|
|
_users.Remove(user);
|
2024-10-19 21:12:06 +00:00
|
|
|
|
|
2024-11-17 16:24:01 +00:00
|
|
|
|
return true; // Если удаление прошло, возврашаем true
|
2024-10-19 21:12:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
2024-11-17 16:24:01 +00:00
|
|
|
|
// Метод обновления информации о пользователе
|
|
|
|
|
public UserLocalEnity? UpdateUser(UserLocalEnity user)
|
|
|
|
|
{
|
|
|
|
|
// Ищем пользователя по его Guid
|
|
|
|
|
var existingUser = _users.FirstOrDefault(u => u.Guid == user.Guid);
|
|
|
|
|
|
|
|
|
|
// Если пользователь не найден
|
|
|
|
|
if (existingUser == null) throw new UserNotFoundException(user.Guid);
|
2024-10-19 21:12:06 +00:00
|
|
|
|
|
2024-11-17 16:24:01 +00:00
|
|
|
|
// Обновляем информацию о пользователе
|
|
|
|
|
existingUser.FIO = user.FIO;
|
|
|
|
|
existingUser.GroupID = user.GroupID;
|
|
|
|
|
|
|
|
|
|
// Возвращаем обновленный объект UserLocalEnity
|
|
|
|
|
return existingUser;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Метод получения списка пользователей с их ФИО и Guid
|
|
|
|
|
public List<UserDao> GetUserNames()
|
|
|
|
|
{
|
|
|
|
|
// Запрашиваем пользователей и создаем список объектов UserDao с их GUID и ФИО
|
|
|
|
|
return _users
|
|
|
|
|
.Select(u => new UserDao
|
|
|
|
|
{
|
|
|
|
|
Guid = u.Guid, // Уникальный идентификатор пользователя
|
|
|
|
|
FIO = u.FIO // ФИО пользователя
|
|
|
|
|
})
|
|
|
|
|
.ToList(); // Преобразуем результат в список
|
2024-10-19 21:12:06 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2024-11-17 16:24:01 +00:00
|
|
|
|
}
|