using Demo.Domain.UseCase; using Demo.domain.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; 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); _presenceConsoleUI = new PresenceConsoleUI(presenceUseCase); DisplayMenu(); } private void DisplayMenu() { while (true) { switch (Console.ReadLine()) { case "1": _userConsoleUI.DisplayAllUsers(); break; case "2": _userConsoleUI.GetUserByGuid(Guid.Parse(Console.ReadLine())); break; case "3": _userConsoleUI.UpdateUser(User.Parse(Console.ReadLine())); break; case "4": _userConsoleUI.RemoveUserByGuid(Guid.Parse(Console.ReadLine())); break; case "5": _groupConsoleUI.DisplayAllGroups(); break; case "6": _groupConsoleUI.CreateNewGroup(Console.ReadLine()); break; case "7": _groupConsoleUI.UpdateGroupName(Group.Parse(Console.ReadLine())); break; case "8": _groupConsoleUI.DisplayGroupByID(Convert.ToInt32(Console.ReadLine())); break; case "9": _groupConsoleUI.RemoveGroupById(Convert.ToInt32(Console.ReadLine())); break; case "10": _presenceConsoleUI.DisplayPresenceByGroup(Convert.ToInt32(Console.ReadLine())); break; case "11": _presenceConsoleUI.DisplayPresenceByGroupAndDate(Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine()))); break; case "12": _presenceConsoleUI.GeneratePresence(Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine()))); break; case "13": _presenceConsoleUI.GeneratePresenceWeek(Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine()))); break; case "14": _presenceConsoleUI.IsAttedance(Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine()), DateOnly.FromDateTime(Convert.ToDateTime(Console.ReadLine())), Guid.Parse(Console.ReadLine())); break; default: DisplayMenu(); break; } } } } }