using Demo.Data.Repository;
using Demo.Domain.UseCase;
using Demo.UI;
using System;

class Program
{
    static void Main(string[] args)
    {
        var groupRepo = new GroupRepositoryImpl();
        var attendanceRepo = new AttendanceRepositoryImpl();
        var userRepo = new UserRepositoryImpl();

        var groupUseCase = new GroupUseCase(groupRepo);
        var attendanceUseCase = new AttendanceUseCase(attendanceRepo);
        var userUseCase = new UserUseCase(userRepo, groupRepo);
        var presenceGenerator = new UseCaseGeneratePresence(attendanceRepo);

        var mainMenu = new MainMenu(userUseCase, groupUseCase, attendanceUseCase, presenceGenerator);

        mainMenu.DisplayMenu();
    }
}