public static async Task SaveToJournal(this GridDomainNode node, string id, params object[] messages) { using (var repo = new ActorSystemJournalRepository(node.System, false)) { await repo.Save(id, messages); } }
public static async Task <object[]> LoadFromJournal(this GridDomainNode node, string id) { using (var repo = new ActorSystemJournalRepository(node.System)) { return(await repo.Load(id)); } }
public async Task Given_persisted_aggreate() { var aggregateId = Guid.NewGuid().ToString(); var agregateValue = "initial"; var aggregate = new Balloon(aggregateId, agregateValue); using (var repo = new AggregateRepository(ActorSystemJournalRepository.New(new AutoTestSqlActorSystemFactory(), new EventsAdaptersCatalog()))) { await repo.Save(aggregate); } using (var repo = new AggregateRepository(ActorSystemJournalRepository.New(new AutoTestSqlActorSystemFactory(), new EventsAdaptersCatalog()))) { aggregate = await repo.LoadAggregate <Balloon>(aggregate.Id); } //Aggregate_has_correct_id() Assert.Equal(aggregateId, aggregate.Id); //Aggregate_has_state_from_changed_event() Assert.Equal(agregateValue, aggregate.Title); }