예제 #1
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            var        container           = CompositionRoot.Configure();
            MainWindow mainWindow          = new MainWindow();
            var        mainWindowViewModel = container.Resolve <MainWindowViewModel>();

            mainWindow.DataContext = mainWindowViewModel;
            mainWindow.Show();
        }
예제 #2
0
        public static void Perform()
        {
            var             container = CompositionRoot.Configure();
            var             factory   = container.Resolve <IPaymentGatewayFactory>();
            IPaymentGateWay gateway   = factory.Create(Gateways.Swift);

            gateway.Invoke();
            gateway = factory.Create(Gateways.WellsFargo);
            gateway.Invoke();
            gateway = factory.Create(Gateways.ProtocolBase);
            gateway.Invoke();
            Console.WriteLine("");
        }
예제 #3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc(options => {
                options.Filters.Add(new ModelValidationFilter());
            });

            var conn    = Configuration.GetValue <string>("mongoConnectionString");
            var sqlConn = Configuration.GetValue <string>("sqlConnectionString");
            var businessLogicCompositionRoot = CompositionRoot.Configure();

            services.AddSingleton(businessLogicCompositionRoot.UserFacade);
            IUserRepository mongoUserRepo = new MongoUserRepository(conn);
            IUserRepository sqlUserRepo   = new SqlUserRepository(sqlConn);

            services.AddSingleton(sqlUserRepo);


            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "UserApi", Version = "v1"
                });
            });
        }