presence/Demo/Data/Repository/UserRepositoryImpl.cs
Class_Student fee8b37eb3 init
2024-10-25 11:47:11 +03:00

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();
}
}
}