35 lines
1.4 KiB
C#
35 lines
1.4 KiB
C#
using Demo.Data.RemoteData.RemoteDataBase; // Подключаем необходимые пространства имен
|
|
using Demo.Data.Repository;
|
|
using Demo.Domain.UseCase;
|
|
using Demo.UI;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
// Создаем экземпляр репозиториев
|
|
IServiceCollection services = new ServiceCollection(); // Создаем коллекцию сервисов
|
|
|
|
// Добавляем контекст базы данных
|
|
services.AddDbContext<RemoteDatabaseContext>();
|
|
|
|
// Добавляем репозитории
|
|
services.AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>();
|
|
services.AddSingleton<IUserRepository, SQLUserRepositoryImpl>();
|
|
services.AddSingleton<IPresenceRepository, SQLPresenceRepositoryImpl>();
|
|
|
|
// Добавляем юз-кейсы
|
|
services.AddSingleton<UserUseCase>();
|
|
services.AddSingleton<GroupUseCase>();
|
|
services.AddSingleton<UseCaseGeneratePresence>();
|
|
|
|
// Добавляем пользовательские интерфейсы
|
|
services.AddSingleton<GroupConsoleUI>();
|
|
services.AddSingleton<PresenceConsole>();
|
|
services.AddSingleton<MainMenuUI>();
|
|
|
|
var serviceProvider = services.BuildServiceProvider(); // Создаем провайдер сервисов
|
|
|
|
// Создаем пользовательский интерфейс
|
|
MainMenuUI mainMenuUI = serviceProvider.GetService<MainMenuUI>();
|
|
|
|
// Выводим главное меню
|
|
mainMenuUI.DisplayMenu(); // Выводим меню
|