Ejemplo n.º 1
0
 public void Register(SimpleInjector.Container container)
 {
     container.RegisterSingle <ISubService, SubService>();
     container.RegisterSingle <ISubDao, SubDao>();
     container.RegisterSingle <IPostService, PostService>();
     container.RegisterSingle <IPostDao, PostDao>();
 }
Ejemplo n.º 2
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            var ts = new TraceSource("rskb.application", SourceLevels.All);
            var di = new SimpleInjector.Container();

            ts.TraceInformation("Build");
            var blackboxfolderpath = ConfigurationManager.AppSettings["blackboxfolderpath"];
            di.RegisterSingle<IBlackBox>(() => new FileBlackBox(blackboxfolderpath));
            di.RegisterSingle(typeof (IBoardPortal), typeof (BoardPortal));
            di.RegisterSingle(typeof(IBoardProvider2), typeof(EventstoreBoardprovider));
            di.RegisterSingle(typeof(IBoard2), typeof(Board2));
            di.RegisterSingle(typeof (IBoardController), typeof (BoardController2));

            var prov = di.GetInstance<IBoardProvider2>();
            var portal = di.GetInstance<IBoardPortal>();
            var ctl = di.GetInstance<IBoardController>();

            ts.TraceInformation("Bind");
            portal.On_card_moved += ctl.Move_card;
            portal.On_new_card += ctl.Create_card;
            portal.On_refresh += ctl.Refresh;

            ctl.On_cards_changed += portal.Display_cards;

            ts.TraceInformation("Run");
            Start(prov, portal);

            ts.TraceInformation("Show");
            Application.Run(portal as Form);
        }
Ejemplo n.º 3
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            var ts = new TraceSource("rskb.application", SourceLevels.All);
            var di = new SimpleInjector.Container();

            ts.TraceInformation("Build");
            var blackboxfolderpath = ConfigurationManager.AppSettings["blackboxfolderpath"];

            di.RegisterSingle <IBlackBox>(() => new FileBlackBox(blackboxfolderpath));
            di.RegisterSingle(typeof(IBoardPortal), typeof(BoardPortal));
            di.RegisterSingle(typeof(IBoardProvider2), typeof(EventstoreBoardprovider));
            di.RegisterSingle(typeof(IBoard2), typeof(Board2));
            di.RegisterSingle(typeof(IBoardController), typeof(BoardController2));

            var prov   = di.GetInstance <IBoardProvider2>();
            var portal = di.GetInstance <IBoardPortal>();
            var ctl    = di.GetInstance <IBoardController>();

            ts.TraceInformation("Bind");
            portal.On_card_moved += ctl.Move_card;
            portal.On_new_card   += ctl.Create_card;
            portal.On_refresh    += ctl.Refresh;

            ctl.On_cards_changed += portal.Display_cards;

            ts.TraceInformation("Run");
            Start(prov, portal);

            ts.TraceInformation("Show");
            Application.Run(portal as Form);
        }
Ejemplo n.º 4
0
        static SimpleInjector.Container ConfigureIoC()
        {
            var container = new SimpleInjector.Container();

            container.Options.AllowOverridingRegistrations = true;
            Logger.Msg("IoC container created.");

            container.RegisterSingle <ILogger>(Logger);
            container.Register <IBuilder, Builder>();
            container.Register <IFileSystem, WindowsFileSystem>();
            container.Register <ICountingFileSystem, CountingFileSystem>();
            container.Register <IFileFilter, FileFilter>();
            container.RegisterSingle <Settings>(Settings);
            Logger.Msg("Default Lithogen types registered.");

            string[] plugins = Directory.GetFiles(Settings.PluginsDirectory, "*.dll", SearchOption.TopDirectoryOnly);
            if (plugins.Length > 0)
            {
                foreach (string plugin in plugins)
                {
                    Logger.Msg("Registering plugins from " + plugin);
                    var pluginTypes = from type in Assembly.LoadFile(plugin).GetExportedTypes()
                                      where !type.IsAbstract && !type.IsGenericTypeDefinition
                                      select type;
                    foreach (Type pluginType in pluginTypes)
                    {
                        foreach (Type t in OverridableTypes)
                        {
                            if (t.IsAssignableFrom(pluginType))
                            {
                                container.Register(t, pluginType);
                                Logger.Msg("Registered type {0} against interface {1}.", pluginType.FullName, t.Name);
                            }
                        }
                    }
                }
                Logger.Msg("All plugin types registered.");
            }

            container.Verify();
            Logger.Msg("IoC container verified.");
            return(container);
        }
Ejemplo n.º 5
0
 public void Register(SimpleInjector.Container container)
 {
     container.RegisterSingle <IEventHandlerRegistry, EventHandlerRegistry>();
     container.RegisterSingle <ICommandHandlerRegistry, CommandHandlerRegistry>();
 }
 public void RegisterServices(SimpleInjector.Container container)
 {
     //container.Register<ILehrerRepository, LehrerRepository>();
     container.RegisterSingle <Uri>(new Uri(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Themes")));
 }