static ContainerBuilder RegisterApplication(IProgramOptions options)
        {
            var builder = new ContainerBuilder();
            builder.RegisterInstance(options).As<IProgramOptions>();

            var logConfig = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .WriteTo.ColoredConsole();

            builder.RegisterModule<LogicIocModule>();

            if (options.Interactive)
            {
                builder.RegisterModule(new ConsoleIocModule(logConfig));

                builder.RegisterType<ConsoleApplication>().As<IApplication>().SingleInstance();
            }
            else
            {
                builder.RegisterModule(new WebAppIocModule(logConfig));
                builder.RegisterType<WebApplication>().As<IApplication>().SingleInstance();
            }

            Log.Logger = logConfig.CreateLogger();
            builder.RegisterInstance(Log.Logger).As<ILogger>();

            return builder;
        }
        static ContainerBuilder RegisterApplication(IProgramOptions options)
        {
            var builder = new ContainerBuilder();

            builder.RegisterInstance(options).As <IProgramOptions>();

            var logConfig = new LoggerConfiguration()
                            .MinimumLevel.Debug()
                            .WriteTo.ColoredConsole();

            builder.RegisterModule <LogicIocModule>();

            if (options.Interactive)
            {
                builder.RegisterModule(new ConsoleIocModule(logConfig));

                builder.RegisterType <ConsoleApplication>().As <IApplication>().SingleInstance();
            }
            else
            {
                builder.RegisterModule(new WebAppIocModule(logConfig));
                builder.RegisterType <WebApplication>().As <IApplication>().SingleInstance();
            }

            Log.Logger = logConfig.CreateLogger();
            builder.RegisterInstance(Log.Logger).As <ILogger>();

            return(builder);
        }
Example #3
0
        private static IContainer BuildProgram(IProgramOptions programOptions)
        {
            var builder = new ContainerBuilder();

            builder.RegisterInstance(programOptions.ImageOptions).As <IImageOptions>();
            builder.RegisterInstance(programOptions.FontOptions).As <IFontOptions>();
            builder.RegisterInstance(programOptions.FilterOptions).As <IFilterOptions>();
            builder.RegisterType <WordsAnalyzer>().As <IWordsAnalyzer>();
            builder.RegisterType <FileReader>().As <IWordReader>().WithParameter("filePath", programOptions.FilePath);
            builder.RegisterType <Filter>().As <IFilter>();
            builder.RegisterType <CircularCloudLayouter>().As <ILayouter>()
            .WithParameter("center",
                           new Point(programOptions.ImageOptions.Width / 2, programOptions.ImageOptions.Height / 2));
            builder.RegisterType <LayoutDrawer>().As <ILayoutDrawer>();
            builder.RegisterType <RectangleLayout>().As <IRectangleLayout>();
            builder.RegisterType <TagCloud>().As <ITagCloud>();
            return(builder.Build());
        }
Example #4
0
 private static void StartMessageServer(IProgramOptions options)
 {
     messageServer = new MessageServer(options.Host, options.Port);
     messageServer.Start();
 }