예제 #1
0
        public Account()
        {
            Register <DepositedDomainEvent>(When);
            Register <WithdrewDomainEvent>(When);
            Register <OpenedDomainEvent>(When);
            Register <ClosedDomainEvent>(When);

            Transactions = new TransactionCollection();
        }
예제 #2
0
        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);
        }
예제 #3
0
 protected Account()
 {
     Transactions = new TransactionCollection();
 }