public void RegisterTypes(IContainerRegistry containerRegistry) { LoggingConfiguration.Configure(); containerRegistry.RegisterInstance <ILogger>(Log.Logger); containerRegistry.RegisterInstance <IMapper>(new MapperConfiguration(cfg => { cfg.AddProfile <DbTestImageProfile>(); cfg.AddProfile <DbEventProfile>(); }).CreateMapper()); containerRegistry.RegisterInstance(typeof(IConfigurationService), new ConfigurationService("settings.json")); containerRegistry.GetContainer().RegisterType <IAuthDataRepository, SqliteAuthDataRepository>(); containerRegistry.GetContainer().RegisterType <IUserRepository, SqliteUserRepository>(); containerRegistry.GetContainer().RegisterSingleton <IAuthenticationService, AuthenticationService>(); containerRegistry.GetContainer().RegisterSingleton <ITestImageRepository, SqliteTestImageRepository>(); containerRegistry.GetContainer().RegisterType <IWorkTimeEsRepository, SqliteWorkTimeEsRepository>(); containerRegistry.GetContainer().RegisterType <IWorkTimeUow, WorkTimeUow>(); containerRegistry.GetContainer().RegisterType <IWorkTimeIdGeneratorService, SqliteWorkTimeIdGeneratorService>(); GlobalExceptionHandler.Init(); ModuleInit.Init(containerRegistry); }
void LoadModulesFromConfig(CommandEvaluationContext context) { var mods = ModuleUtil.LoadModuleInitConfiguration(context); if (mods == null) { // rebuild the module-init file - it is crashed mods = new ModuleInit() { ReadMe = $"new file generated on {System.DateTime.Now}", List = Array.Empty <ModuleInitItem>() }; ModuleUtil.SaveModuleInitConfiguration(context, mods); context.Errorln("a crashed version of module-init has been restored to initial state"); } var enabledMods = mods.List.Where(x => x.IsEnabled); if (!enabledMods.Any()) { return; } var o = context.Out; o.Echoln(); foreach (var mod in enabledMods) { try { context.Logger.Info(_clp.CommandEvaluationContext.ShellEnv.Colors.Log + $"loading module: '{mod.Path}' ... ", true, false); var a = Assembly.LoadFile(mod.Path); context.Logger.Info(_clp.CommandEvaluationContext.ShellEnv.Colors.Log + $"module assembly loaded: '{a}'. registering module ... ", true, false); var modSpec = _clp.ModuleManager.RegisterModule(_clp.CommandEvaluationContext, a); context.Logger.Done(modSpec.Info.GetDescriptor(context)); } catch (Exception loadModException) { _clp.CommandEvaluationContext.Logger.Fail(loadModException); } } }
public Kernel(ModuleInit init) : base(init) { }
public void OnInitialized(IContainerProvider containerProvider) { ModuleInit.OnInitialized(containerProvider); containerProvider.Resolve <IEventAggregator>().GetEvent <InfrastructureModuleLoaded>().Publish(this); }
/// <summary> /// save module-init config /// </summary> /// <param name="context">command evaluation context</param> /// <param name="o">module-init model object</param> public static void SaveModuleInitConfiguration(CommandEvaluationContext context, ModuleInit o) { File.WriteAllText( context .CommandLineProcessor .Settings .ModulesInitFilePath, JsonConvert.SerializeObject(o, Formatting.Indented)); }