68 lines
2.0 KiB
C#
68 lines
2.0 KiB
C#
using Demo.Domain.Models;
|
|
using Demo.Data.LocalData; // Добавьте пространство имен
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace Demo.Data.Repository
|
|
{
|
|
public class GroupRepositoryImpl
|
|
{
|
|
private List<Demo.Domain.Models.Group> _groups;
|
|
|
|
public GroupRepositoryImpl()
|
|
{
|
|
// Инициализируем список групп данными из LocalStaticData
|
|
_groups = LocalStaticData.Groups.Select(g => new Demo.Domain.Models.Group
|
|
{
|
|
Id = g.Id,
|
|
Name = g.Name
|
|
}).ToList();
|
|
}
|
|
|
|
public List<Demo.Domain.Models.Group> GetAllGroups()
|
|
{
|
|
return _groups;
|
|
}
|
|
|
|
public Group GetGroupById(int id)
|
|
{
|
|
return _groups.FirstOrDefault(g => g.Id == id);
|
|
}
|
|
|
|
public void AddGroup(Group group)
|
|
{
|
|
_groups.Add(group);
|
|
}
|
|
|
|
public bool UpdateGroup(Group group) // Метод возвращает bool
|
|
{
|
|
var existingGroup = _groups.FirstOrDefault(g => g.Id == group.Id);
|
|
if (existingGroup != null)
|
|
{
|
|
existingGroup.Name = group.Name; // Обновите остальные поля, если необходимо
|
|
return true; // Успешное обновление
|
|
}
|
|
return false; // Группа не найдена
|
|
}
|
|
|
|
public bool RemoveGroupById(int groupId) // Метод возвращает bool
|
|
{
|
|
var group = _groups.FirstOrDefault(g => g.Id == groupId);
|
|
if (group != null)
|
|
{
|
|
_groups.Remove(group);
|
|
return true; // Успешное удаление
|
|
}
|
|
return false; // Группа не найдена
|
|
}
|
|
|
|
public void DisplayGroups()
|
|
{
|
|
foreach (var group in _groups)
|
|
{
|
|
Console.WriteLine($"ID: {group.Id}, Name: {group.Name}");
|
|
}
|
|
}
|
|
}
|
|
}
|