returnexistingGroup;// Возвращаем найденную группу
}
// Получить все группы
publicList<Group>GetAllGroups()
{
return_repositoryGroupImpl.GetAllGroup()
.Select(it=>newGroup{Id=it.Id,Name=it.Name})// Преобразуем в DTO-объект
.ToList();// Список групп
}
// Найти группу по ID
publicGroupFindGroupById(intgroupId)
{
returnGetAllGroups().FirstOrDefault(g=>g.Id==groupId)??thrownewArgumentException("Группа не найдена.");// Выбрасываем исключение, если группа не найдена
}
// Добавить новую группу
publicvoidAddGroup(stringgroupName)
{
varnewId=_repositoryGroupImpl.GetAllGroup().Any()
?_repositoryGroupImpl.GetAllGroup().Max(g=>g.Id)+1// Генерируем новый ID
:1;
varnewGroup=newGroupLocalEntity
{
Id=newId,
Name=groupName
};
_repositoryGroupImpl.AddGroup(newGroup);// Добавляем группу в репозиторий
}
// Удалить группу по ID
publicvoidRemoveGroupById(intgroupId)
{
ValidateGroupExistence(groupId);// Проверяем, существует ли группа
_repositoryGroupImpl.RemoveGroupById(groupId);// Удаляем группу