using Demo.Domain.UseCase; using System; using System.Linq; namespace Demo.UI { public class PresenceConsole { private readonly UseCasePresence _presenceUseCase; private readonly UserUseCase _userUseCase; public PresenceConsole(UseCasePresence presenceUseCase, UserUseCase userUseCase) { _presenceUseCase = presenceUseCase; _userUseCase = userUseCase; } public void DisplayPresenceByGroup(int groupId) { var presence = _presenceUseCase.GetPresenceByGroup(groupId); var users = _userUseCase.GetAllUsers().ToDictionary(u => u.Id); foreach (var p in presence) { var user = users[p.UserId]; Console.WriteLine($"Дата: {p.Date}, Занятие: {p.LessonNumber}, ФИО: {user.FIO}, Посещаемость: {(p.IsAttendance ? "Присутствовал" : "Отсутствовал")}"); } } public void DisplayPresenceByGroupAndDate(int groupId, DateTime date) { var presence = _presenceUseCase.GetPresenceByGroupAndDate(groupId, date); var users = _userUseCase.GetAllUsers().ToDictionary(u => u.Id); foreach (var p in presence) { var user = users[p.UserId]; Console.WriteLine($"Дата: {p.Date}, Занятие: {p.LessonNumber}, ФИО: {user.FIO}, Посещаемость: {(p.IsAttendance ? "Присутствовал" : "Отсутствовал")}"); } } public void MarkUserAsAbsent(Guid userId, int lessonNumber, DateTime date) { _presenceUseCase.MarkUserAsAbsent(userId, lessonNumber, date); Console.WriteLine("Пользователь отмечен как отсутствующий."); } } }