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