private BankAccount(BankAccountSnapshot bankAccountSnapshot, IEnumerable <DomainEvent> storedDomainEvents) : base(bankAccountSnapshot.AggregateId) { DomainEventVersion = bankAccountSnapshot.Version; StoredEventVersion = bankAccountSnapshot.Version; Balance = Balance.Create(bankAccountSnapshot.Balance); foreach (DomainEvent @event in storedDomainEvents) { Apply(@event); StoredEventVersion++; } }
public static BankAccount ReconstructBankAccount(BankAccountSnapshot bankAccountSnapshot, IEnumerable <DomainEvent> storedDomainEvents) { return(new BankAccount(bankAccountSnapshot, storedDomainEvents)); }