public Account() { Register <DepositedDomainEvent>(When); Register <WithdrewDomainEvent>(When); Register <OpenedDomainEvent>(When); Register <ClosedDomainEvent>(When); Transactions = new TransactionCollection(); }
protected void When(OpenedDomainEvent domainEvent) { // // Open an Account // Id = domainEvent.AggregateRootId; CustomerId = domainEvent.CustomerId; Transactions = new TransactionCollection(); Transaction credit = new Credit( domainEvent.AggregateRootId, domainEvent.TransactionId, domainEvent.TransactionAmount, domainEvent.TransactionDate); Transactions.Add(credit); }
protected Account() { Transactions = new TransactionCollection(); }