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);
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
 public Kernel(ModuleInit init) : base(init)
 {
 }
        public void OnInitialized(IContainerProvider containerProvider)
        {
            ModuleInit.OnInitialized(containerProvider);

            containerProvider.Resolve <IEventAggregator>().GetEvent <InfrastructureModuleLoaded>().Publish(this);
        }
Ejemplo n.º 5
0
 /// <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));
 }