示例#1
0
        public void Initialize()
        {
            connection = new SqliteConnection("DataSource=:memory:");
            connection.Open();
            options = new DbContextOptionsBuilder <KlantContext>()
                      .UseSqlite(connection)
                      .Options;

            using (var context = new KlantContext(options))
            {
                context.Database.EnsureCreated();
            }


            _context = new TestBusContext();

            var services = new ServiceCollection();

            services.AddTransient <ICommandPublisher, CommandPublisher>();
            services.AddSingleton <DbContextOptions>(options);
            services.AddSingleton <KlantContext>();
            services.AddTransient <IKlantDatamapper, KlantDatamapper>();
            services.AddSingleton <IBusContext <IConnection> >(_context);
            services.AddTransient <IEventPublisher, EventPublisher>();

            var builder = new MicroserviceHostBuilder()
                          .RegisterDependencies(services)
                          .WithContext(_context)
                          .AddCommandListener <KlantListener>();

            _host = builder.CreateHost();

            _host.StartListening();
            Thread.Sleep(1000);
        }
示例#2
0
        public void Initialize()
        {
            connection = new SqliteConnection("DataSource=:memory:");
            connection.Open();
            options = new DbContextOptionsBuilder <WebshopContext>()
                      .UseSqlite(connection)
                      .Options;

            using (var context = new WebshopContext(options))
            {
                context.Database.EnsureCreated();
            }

            var services = new ServiceCollection();

            services.AddSingleton <DbContextOptions>(options);
            services.AddTransient <WebshopContext, WebshopContext>();
            services.AddTransient <IArtikelDatamapper, ArtikelDatamapper>();
            services.AddTransient <IKlantDatamapper, KlantDatamapper>();

            _context = new TestBusContext();

            var builder = new MicroserviceHostBuilder()
                          .RegisterDependencies(services)
                          .WithContext(_context)
                          .AddEventListener <MagazijnListener>();

            _host = builder.CreateHost();

            _host.StartListening();
        }
示例#3
0
        public void Initialize()
        {
            connection = new SqliteConnection("DataSource=:memory:");
            connection.Open();
            options = new DbContextOptionsBuilder <BeheerContext>()
                      .UseSqlite(connection)
                      .Options;

            using (var context = new BeheerContext(options))
            {
                context.Database.EnsureCreated();
                var artikel = new Artikel
                {
                    Artikelnummer  = 1,
                    Beschrijving   = "Grote fiets voor iedereen",
                    LeverbaarTot   = new DateTime(2018, 5, 5),
                    LeverbaarVanaf = new DateTime(2017, 1, 1),
                    Naam           = "Fiets",
                    Prijs          = 40m,
                    Voorraad       = 5
                };
                var artikel2 = new Artikel
                {
                    Artikelnummer  = 2,
                    Beschrijving   = "HELE grote fiets voor iedereen",
                    LeverbaarTot   = new DateTime(2018, 5, 5),
                    LeverbaarVanaf = new DateTime(2017, 1, 1),
                    Naam           = "Fiets Groot",
                    Prijs          = 100m,
                    Voorraad       = 8
                };
                var klant = new Klant {
                    Voornaam = "Hans", Achternaam = "Van Huizen", Id = "1"
                };

                var klantDatamapper = new KlantDatamapper(context);
                klantDatamapper.Insert(klant);

                var datamapper = new ArtikelDatamapper(context);
                datamapper.Insert(artikel);
                datamapper.Insert(artikel2);
            }


            _context = new TestBusContext();

            var services = new ServiceCollection();

            services.AddTransient <ICommandPublisher, CommandPublisher>();
            services.AddSingleton <DbContextOptions>(options);
            services.AddTransient <BeheerContext, BeheerContext>();
            services.AddTransient <IArtikelDatamapper, ArtikelDatamapper>();
            services.AddTransient <IBestellingDatamapper, BestellingDatamapper>();
            services.AddSingleton <IBusContext <IConnection> >(_context);
            services.AddTransient <IEventPublisher, EventPublisher>();
            services.AddTransient <IKlantDatamapper, KlantDatamapper>();

            var builder = new MicroserviceHostBuilder()
                          .RegisterDependencies(services)
                          .WithContext(_context)
                          .AddCommandListener <BestellingListener>()
                          .AddCommandListener <BestellingListenerIntegratieTest>()
                          .AddEventListener <BestellingListener>();

            _host = builder.CreateHost();

            _host.StartListening();
        }