protected override void SaveInJournal <TAggregate>(Guid id, params DomainEvent[] messages) { using (var eventsRepo = ActorSystemEventRepository.New(new AutoTestAkkaConfiguration(), new EventsAdaptersCatalog())) { var persistId = AggregateActorName.New <BalanceAggregate>(id).Name; eventsRepo.Save(persistId, messages); } }
public override T LoadAggregate <T>(Guid id) { var eventsRepo = ActorSystemEventRepository.New(new AutoTestAkkaConfiguration(), GridNode.EventsAdaptersCatalog); using (var repo = new AggregateRepository(eventsRepo)) { return(repo.LoadAggregate <T>(id)); } }
public static async Task <TAggregate> LoadAggregate <TAggregate>(this GridDomainNode node, string id) where TAggregate : Aggregate { using (var eventsRepo = new ActorSystemEventRepository(node.System)) using (var repo = new AggregateRepository(eventsRepo)) { return(await repo.LoadAggregate <TAggregate>(id)); } }
public void Given_persisted_aggreate() { _aggregateId = Guid.NewGuid(); _agregateValue = "initial"; var aggregate = new SampleAggregate(_aggregateId, _agregateValue); using (var repo = new AggregateRepository(ActorSystemEventRepository.New(new AutoTestAkkaConfiguration(), new EventsAdaptersCatalog()))) { repo.Save(aggregate); } using (var repo = new AggregateRepository(ActorSystemEventRepository.New(new AutoTestAkkaConfiguration(), new EventsAdaptersCatalog()))) { _aggregate = repo.LoadAggregate <SampleAggregate>(aggregate.Id); } }
protected virtual IRepository <DomainEvent> CreateRepository() { return(ActorSystemEventRepository.New(new AutoTestAkkaConfiguration(), new EventsAdaptersCatalog())); }