Esempio n. 1
0
        public static AggregateRepository New(string akkaWriteDbConnectionString, EventsAdaptersCatalog upgradeCatalog = null)
        {
            var rawSqlAkkaPersistenceRepository = new RawJournalRepository(akkaWriteDbConnectionString);
            var domainEventsRepository          = new DomainEventsRepository(rawSqlAkkaPersistenceRepository);

            return(new AggregateRepository(domainEventsRepository, upgradeCatalog));
        }
        public override void Cleanup()
        {
            var totalCommandsToIssue    = Scenario.CommandPlans.Count();
            var journalConnectionString = new AutoTestNodeDbConfiguration().JournalConnectionString;
            var dbContextOptions        = new DbContextOptionsBuilder().UseSqlServer(journalConnectionString)
                                          .Options;

            var rawJournalRepository = new RawJournalRepository(dbContextOptions);
            var count = rawJournalRepository.TotalCount();

            if (count != totalCommandsToIssue)
            {
                _output.WriteLine($"!!! Journal contains only {count} of {totalCommandsToIssue} !!!");
                Task.Delay(2000)
                .Wait();
                count = rawJournalRepository.TotalCount();
                _output.WriteLine($"After 2 sec Journal contains {count} of {totalCommandsToIssue}");
            }

            using (var context = new BalloonContext(DbContextOptions))
            {
                var projectedCount = context.BalloonCatalog.Select(x => x)
                                     .Count();
                _output.WriteLine($"Found {projectedCount} projected rows");
            }
        }
        public static AggregateRepository New(string akkaWriteDbConnectionString, EventsAdaptersCatalog upgradeCatalog = null)
        {
            var options = new DbContextOptionsBuilder().UseSqlServer(akkaWriteDbConnectionString).Options;
            var rawSqlAkkaPersistenceRepository = new RawJournalRepository(options);
            var domainEventsRepository          = new DomainEventsRepository(rawSqlAkkaPersistenceRepository);

            return(new AggregateRepository(domainEventsRepository, upgradeCatalog));
        }