using Demo.Data.LocalData; using Demo.domain.Models; using Demo.Domain.UseCase; using System; using System.Collections.Generic; namespace Demo.UI { public class GroupConsoleUI { private GroupUseCase _groupUseCase; public GroupConsoleUI(GroupUseCase groupUseCase) { _groupUseCase = groupUseCase; } public void DisplayAllGroups() { Console.WriteLine("Список групп:"); foreach (var group in _groupUseCase.GetAllGroups()) { Console.WriteLine($"Id = {group.Id}, Name = \"{group.Name}\""); } } public void RemoveGroupById(int groupId) { bool success = _groupUseCase.RemoveGroupById(groupId); if (success) { Console.WriteLine($"Группа с ID {groupId} была успешно удалена."); } else { Console.WriteLine($"Группа с ID {groupId} не найдена."); } } public void AddGroup() { Console.WriteLine("Введите название группы:"); string groupName = Console.ReadLine(); var newGroup = new GroupLocalEntity { Id = LocalStaticData.groups.Max(g => g.Id) + 1, Name = groupName }; bool success = _groupUseCase.AddGroup(newGroup); // Используем новый метод if (success) { Console.WriteLine("Группа добавлена."); } else { Console.WriteLine("Группа с таким ID уже существует."); } } public void UpdateGroupName() { Console.WriteLine("Введите ID группы для изменения названия:"); if (int.TryParse(Console.ReadLine(), out int groupId)) { Console.WriteLine("Введите новое название группы:"); string newGroupName = Console.ReadLine(); var updatedGroup = new GroupLocalEntity { Id = groupId, Name = newGroupName }; bool success = _groupUseCase.UpdateGroupById(groupId, updatedGroup); if (success) { Console.WriteLine("Название группы обновлено."); } else { Console.WriteLine("Группа не найдена."); } Console.WriteLine("Группы после обновления:"); var allGroups = _groupUseCase.GetAllGroups(); foreach (var group in allGroups) { Console.WriteLine($"Id = {group.Id}, Name = \"{group.Name}\""); } } else { Console.WriteLine("Некорректный ID группы."); } } } }