using data.RemoteData.RemoteDataBase;
using data.Repository;
using domain.UseCase;
using Microsoft.Extensions.DependencyInjection;
using Presence.Desktop.ViewModels;

namespace Presence.Desktop.DI
{
    public static class ServiceCollectionExtensions
    {
        public static void AddCommonService(this IServiceCollection collection)
        {
            collection
                .AddDbContext<RemoteDatabaseContext>()
                .AddSingleton<IGroupRepository, SQLGroupRepositoryImpl>()
                .AddSingleton<IUserRepository, SQLUserRepositoryImpl>()
                .AddSingleton<IPresenceRepository, SQLPresenceRepositoryImpl>()
                .AddSingleton<UseCaseGeneratePresence>()
                .AddSingleton<UserUseCase>()
                .AddTransient<GroupUseCase>();        }
    }
}