84 lines
2.4 KiB
C#
84 lines
2.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Demo.Data.LocalData;
|
|
using Demo.Domain.Models;
|
|
|
|
namespace Demo.Data.Repository
|
|
{
|
|
public class UserRepositoryImpl
|
|
{
|
|
private List<User> _users;
|
|
|
|
public UserRepositoryImpl()
|
|
{
|
|
_users = LocalStaticData.Users.Select(it => new User
|
|
{
|
|
FIO = it.FIO,
|
|
GroupID = it.GroupID,
|
|
Group=new Group(),
|
|
Guid = it.Guid
|
|
}).ToList();
|
|
}
|
|
|
|
public List<User> GetAllUsers()
|
|
{
|
|
return _users;
|
|
}
|
|
|
|
public User GetByGuid(Guid id)
|
|
{
|
|
// Исправлено на правильное сравнение
|
|
return _users.FirstOrDefault(u => u.Guid == id);
|
|
}
|
|
|
|
public void AddUser(User user)
|
|
{
|
|
_users.Add(user);
|
|
}
|
|
|
|
public bool UpdateUser(User user)
|
|
{
|
|
var existingUser = _users.FirstOrDefault(u => u.Guid == user.Guid);
|
|
if (existingUser != null)
|
|
{
|
|
existingUser.FIO = user.FIO; // Обновите остальные поля, если необходимо
|
|
existingUser.Group = user.Group; // Обновление группы (если нужно)
|
|
return true; // Успешное обновление
|
|
}
|
|
return false; // Пользователь не найден
|
|
}
|
|
|
|
public void RemoveUser(Guid userGuid)
|
|
{
|
|
var user = _users.FirstOrDefault(u => u.Guid == userGuid);
|
|
if (user != null)
|
|
{
|
|
_users.Remove(user);
|
|
}
|
|
}
|
|
|
|
public bool RemoveUserByGuid(Guid userGuid)
|
|
{
|
|
var user = _users.FirstOrDefault(u => u.Guid == userGuid);
|
|
if (user != null)
|
|
{
|
|
_users.Remove(user);
|
|
return true; // Успешное удаление
|
|
}
|
|
return false; // Пользователь не найден
|
|
}
|
|
|
|
public User FindUserByGuid(Guid userGuid)
|
|
{
|
|
return _users.FirstOrDefault(u => u.Guid == userGuid);
|
|
}
|
|
|
|
// Метод для получения пользователей по ID группы
|
|
public List<User> GetUsersByGroupId(int groupId)
|
|
{
|
|
return _users.Where(u => u.Group.Id == groupId).ToList();
|
|
}
|
|
}
|
|
}
|