presence/ui/GroupConsole.cs
2024-11-11 12:07:11 +03:00

98 lines
3.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using domain.UseCase;
using System;
using System.Text;
namespace ui
{
public class GroupConsoleUI
{
private readonly GroupUseCase _groupUseCase;
public GroupConsoleUI(GroupUseCase groupUseCase)
{
_groupUseCase = groupUseCase;
}
public void FindGroupById(int groupId)
{
try
{
var group = _groupUseCase.FindGroupById(groupId);
Console.WriteLine($"ID группы: {group.Id} Название группы: {group.Name}");
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
}
}
// Метод для отображения всех групп
public void DisplayAllGroups()
{
Console.WriteLine("\n=== Список всех групп ===");
StringBuilder groupOutput = new StringBuilder();
foreach (var group in _groupUseCase.GetAllGroups())
{
groupOutput.AppendLine($"{group.Id}\t{group.Name}");
}
Console.WriteLine(groupOutput);
Console.WriteLine("===========================\n");
}
// Метод для добавления новой группы
public void AddGroup(string groupName)
{
try
{
ValidateGroupName(groupName); // Валидация в интерфейсе
_groupUseCase.AddGroup(groupName);
Console.WriteLine($"\nГруппа {groupName} добавлена.\n");
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка: {ex.Message}\n");
}
}
public void RemoveGroup(string groupIdStr)
{
try
{
int groupId = int.Parse(groupIdStr);
ValidateGroupId(groupId); // Валидация в интерфейсе
_groupUseCase.RemoveGroupById(groupId);
Console.WriteLine($"Группа с ID: {groupId} удалена");
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка: {ex.Message}\n");
}
}
// Метод для обновления названия группы
public void UpdateGroupName(int groupId, string newGroupName)
{
_groupUseCase.UpdateGroup(groupId, newGroupName);
Console.WriteLine($"\nНазвание группы с ID {groupId} изменено на {newGroupName}.\n");
}
private void ValidateGroupName(string groupName)
{
if (string.IsNullOrWhiteSpace(groupName))
{
throw new ArgumentException("Имя группы не может быть пустым.");
}
}
private void ValidateGroupId(int GroupId)
{
if (GroupId < 1)
{
throw new ArgumentException("Введите корректный ID группы.");
}
}
}
}