コード例 #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);
        }