pr1/Demo/Data/Repository/UserRepositoryImpl.cs
2024-11-17 19:24:01 +03:00

66 lines
2.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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(); // Преобразуем результат в список
}
}
}