using e_suiteRunner.Services;
using eSuite.WorkBench.IoC;
using eSuite.WorkBench.Services;

namespace eSuite.WorkBench
{
    public static class IocRegister
    {
        public static void RegisterIocTypes(object sender, IocContainerRegisteringEventArgs e)
        {
            e.IocRegistrations.Add(new IocRegistration { Object = typeof(MainWindow), Type = typeof(IMainWindow), Singleton = false });
            e.IocRegistrations.Add(new IocRegistration { Object = typeof(MainWindowViewModel), Type = typeof(IMainWindowViewModel), Singleton = false });
            e.IocRegistrations.Add(new IocRegistration { Object = typeof(CommandsService), Type = typeof(ICommandsService), Singleton = false });
            e.IocRegistrations.Add(new IocRegistration { Object = typeof(DbService), Type = typeof(IDbService), Singleton = false });
            e.IocRegistrations.Add(new IocRegistration { Object = typeof(ContainerRegistryClient), Type = typeof(IContainerRegistryClient), Singleton = true });
            e.IocRegistrations.Add(new IocRegistration { Object = typeof(UpdateChecker), Type = typeof(IUpdateChecker), Singleton = true });
        }
    }
}
