using Demo.Data.Exceptions; using Demo.Data.LocalData; using Demo.domain.Models; using System.Collections.Generic; using System.Linq; public class GroupRepositoryImpl { private List _groups = LocalStaticData.groups; public GroupLocalEntity? GetGroupById(int groupId) { foreach (var group in _groups) { if (group.Id == groupId) { return group; } } return null; } // Метод для получения всех групп public List GetAllGroups() => _groups; // Метод для добавления новой группы public void AddGroup(GroupLocalEntity group) { group.Id = _groups.Any() ? _groups.Max(g => g.Id) + 1 : 1; _groups.Add(group); } // Метод для обновления существующей группы public void UpdateGroup(GroupLocalEntity group) { var existingGroup = GetGroupById(group.Id); if (existingGroup == null) throw new GroupNotFoundException(group.Id); } public void RemoveGroupById(GroupLocalEntity group) { var existingGroup = GetGroupById(group.Id); if (existingGroup == null) throw new GroupNotFoundException(group.Id); if (_groups.Contains(existingGroup)) { _groups.Remove(existingGroup); } } }