Example #1
0
        public static void InitSample()
        {
            if (Remote == null)
            {
                TestId = Guid.NewGuid();

                var eventSerializer   = new DataContractSerializer <EventBase>(TypeHelpers.FindSerializableTypes(typeof(EventBase), Assembly.GetCallingAssembly()));
                var commandSerializer = new DataContractSerializer <CommandBase>(TypeHelpers.FindSerializableTypes(typeof(CommandBase), Assembly.GetCallingAssembly()));

                Remote  = new EventSourcedDomainContext(RemoteDB.SampleDatabasePath(), eventSerializer);
                Client1 = new EventSourcedDomainContext(Client1DB.SampleDatabasePath(), ReadModelDB1.SampleDatabasePath(), eventSerializer)
                {
                    CommandSerializer = commandSerializer
                };
                Client2 = new EventSourcedDomainContext(Client2DB.SampleDatabasePath(), ReadModelDB2.SampleDatabasePath(), eventSerializer)
                {
                    CommandSerializer = commandSerializer
                };

                var registration = AggregateRegistration.ForType <EventSourcedRoot>();
                //    .WithImmediateReadModel(c => new TransactionReadModelBuilder(new SqlRepository<TransactionDataContract>(EventSourcedDB.Main, "TestId")));
                Client1.Register(registration.WithDelayedReadModel(
                                     // TODO: pass in read model db as a scope
                                     scope => new TransactionReadModelBuilder(new SqlRepository <TransactionDataContract>(scope, "TestId"))));

                Client1.StartDelayedReadModels();

                Client2.Register(registration);
            }
        }
Example #2
0
        public static void ResetSample()
        {
            //SomeOtherTest();
            //return;

            TestId  = Guid.Empty;
            Remote  = null;
            Client1 = null;
            Client2 = null;
            Reset(RemoteDB.Main, null);
            Reset(Client1DB.Main, ReadModelDB1.Main);
            Reset(Client2DB.Main, ReadModelDB2.Main);
        }
Example #3
0
        public static IDomainContext GetDomainContext()
        {
            var eventSerializer = new DataContractSerializer<EventBase>(TypeHelpers.FindSerializableTypes(typeof(EventBase), Assembly.GetCallingAssembly()));

            var context = new EventSourcedDomainContext(EventSourcedDB.SampleDatabasePath(), ReadModelDB1.SampleDatabasePath(), eventSerializer);
            context.EventBus.Subscribe((x) => Console.WriteLine("domain bus event {0}", x));

            var registration = AggregateRegistration.ForType<EventSourcedRoot>()
                .WithImmediateReadModel(c => new TransactionReadModelBuilder(new SqlRepository<TransactionDataContract>(EventSourcedDB.Main, "TestId")));
            context.Register(registration);

            return context;
        }
Example #4
0
        public static IDomainContext GetDomainContext()
        {
            var eventSerializer = new DataContractSerializer <EventBase>(TypeHelpers.FindSerializableTypes(typeof(EventBase), Assembly.GetCallingAssembly()));

            var context = new EventSourcedDomainContext(EventSourcedDB.SampleDatabasePath(), ReadModelDB1.SampleDatabasePath(), eventSerializer);

            context.EventBus.Subscribe((x) => Console.WriteLine("domain bus event {0}", x));

            var registration = AggregateRegistration.ForType <EventSourcedRoot>()
                               .WithImmediateReadModel(c => new TransactionReadModelBuilder(new SqlRepository <TransactionDataContract>(EventSourcedDB.Main, "TestId")));

            context.Register(registration);

            return(context);
        }
Example #5
0
        public static void ResetSample()
        {
            //SomeOtherTest();
            //return;

            TestId = Guid.Empty;
            Remote = null;
            Client1 = null;
            Client2 = null;
            Reset(RemoteDB.Main, null);
            Reset(Client1DB.Main, ReadModelDB1.Main);
            Reset(Client2DB.Main, ReadModelDB2.Main);
        }
Example #6
0
        public static void InitSample()
        {
            if (Remote == null)
            {
                TestId = Guid.NewGuid();

                var eventSerializer = new DataContractSerializer<EventBase>(TypeHelpers.FindSerializableTypes(typeof(EventBase), Assembly.GetCallingAssembly()));
                var commandSerializer = new DataContractSerializer<CommandBase>(TypeHelpers.FindSerializableTypes(typeof(CommandBase), Assembly.GetCallingAssembly()));

                Remote = new EventSourcedDomainContext(RemoteDB.SampleDatabasePath(), eventSerializer);
                Client1 = new EventSourcedDomainContext(Client1DB.SampleDatabasePath(), ReadModelDB1.SampleDatabasePath(), eventSerializer) { CommandSerializer = commandSerializer };
                Client2 = new EventSourcedDomainContext(Client2DB.SampleDatabasePath(), ReadModelDB2.SampleDatabasePath(), eventSerializer) { CommandSerializer = commandSerializer };

                var registration = AggregateRegistration.ForType<EventSourcedRoot>();
                //    .WithImmediateReadModel(c => new TransactionReadModelBuilder(new SqlRepository<TransactionDataContract>(EventSourcedDB.Main, "TestId")));
                Client1.Register(registration.WithDelayedReadModel(
                    // TODO: pass in read model db as a scope
                    scope => new TransactionReadModelBuilder(new SqlRepository<TransactionDataContract>(scope, "TestId"))));

                Client1.StartDelayedReadModels();

                Client2.Register(registration);
            }
        }