using Demo.Domain.Models; using Demo.Domain.UseCase; namespace Demo.UI { public class MainMenuUI { UserConsoleUI _userConsoleUI; GroupConsoleUI _groupConsoleUI; PresenceConsoleUI _presenceConsoleUI; public MainMenuUI(IUserUseCase userUseCase, IGroupUseCase groupUseCase, IPresenceUseCase presenceUseCase) { _userConsoleUI = new UserConsoleUI(userUseCase); _groupConsoleUI = new GroupConsoleUI(groupUseCase, userUseCase, presenceUseCase); _presenceConsoleUI = new PresenceConsoleUI(presenceUseCase); DisplayMenu(); } private void DisplayMenu() { while (true) { switch (Console.ReadLine()) { case "0": _groupConsoleUI.DisplayAllBoutGroup(Convert.ToInt32(Console.ReadLine())); break; case "1": _groupConsoleUI.DisplayAllGroups(); break; case "2": _groupConsoleUI.CreateNewGroup(Console.ReadLine()); break; case "3": _groupConsoleUI.UpdateGroupName(Group.Parse(Console.ReadLine())); break; case "4": _groupConsoleUI.DisplayGroupByID(Convert.ToInt32(Console.ReadLine())); break; case "5": _groupConsoleUI.RemoveGroupByID(Convert.ToInt32(Console.ReadLine())); break; case "6": _userConsoleUI.DisplayAllUsers(); break; case "7": _userConsoleUI.DisplayUserByGuid(Guid.Parse(Console.ReadLine())); break; case "8": _userConsoleUI.UpdateUserByGuid(User.Parse(Console.ReadLine())); break; case "9": _userConsoleUI.RemoveUserByGuid(Guid.Parse(Console.ReadLine())); break; case "10": Console.WriteLine("писяпопакака"); break; case "11": _presenceConsoleUI.DisplayPresenceByGroup(Convert.ToInt32(Console.ReadLine())); break; case "12": _presenceConsoleUI.DisplayPresenceByGroupByTime(Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine()))); break; case "13": _presenceConsoleUI.GeneratePresence(Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine()))); break; case "14": _presenceConsoleUI.GeneratePresenceWeek(Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine()))); break; case "15": _presenceConsoleUI.IsAttedance(Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine())), Guid.Parse(Console.ReadLine())); break; default: DisplayMenu(); break; } } } } }