presenceNikita/Demo/Program.cs

35 lines
1.4 KiB
C#
Raw Normal View History

2024-11-10 18:56:16 +00:00
using Demo.Data.RemoteData.RemoteDataBase; // Подключаем необходимые пространства имен
2024-10-16 08:22:40 +00:00
using Demo.Data.Repository;
using Demo.Domain.UseCase;
using Demo.UI;
2024-11-10 18:56:16 +00:00
using Microsoft.Extensions.DependencyInjection;
2024-10-16 08:22:40 +00:00
2024-11-10 18:56:16 +00:00
// Создаем экземпляр репозиториев
IServiceCollection services = new ServiceCollection(); // Создаем коллекцию сервисов
2024-10-21 08:46:20 +00:00
2024-11-10 18:56:16 +00:00
// Добавляем контекст базы данных
services.AddDbContext<RemoteDatabaseContext>();
2024-10-21 08:46:20 +00:00
2024-11-10 18:56:16 +00:00
// Добавляем репозитории
services.AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>();
services.AddSingleton<IUserRepository, SQLUserRepositoryImpl>();
services.AddSingleton<IPresenceRepository, SQLPresenceRepositoryImpl>();
2024-10-16 08:22:40 +00:00
2024-11-10 18:56:16 +00:00
// Добавляем юз-кейсы
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(); // Выводим меню