using Autofac;
using e_suite.DependencyInjection;
using eSuite.API.SingleSignOn;
using eSuite.Core.Clock;
namespace eSuite.API.DependencyInjection;
///
/// Used as the primary location for IOC type registration for e-suite.
///
internal class CoreRegistrationModule : ESuiteModule
{
///
/// Use the builder to register all the types and interfaces that the API requires to operate properly.
///
///
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
//builder.RegisterType().As().SingleInstance();
builder.RegisterType().As();
builder.RegisterType().As();
builder.RegisterType().As();
//e_suite.Service.Mail.IocRegistration.RegisterTypes(builder);
//e_suite.Service.Sentinel.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder);
//e_suite.Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.FormsManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.GlossariesManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.SequenceManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.UserManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.AuditLog.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.DomainManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.MailTemplatesManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.RoleManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.SiteManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.SpecificationManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.BlockedIPsManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder);
//e_suite.Modules.SSOManager.IocRegistration.RegisterTypes(builder);
//e_suite.Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
}
}