Beispiel #1
0
        public void AddEvent(CreditCardDomainEvent domainEvent)
        {
            ApplyEvent(domainEvent);

            UncommittedEvents.Add(domainEvent);

            StreamVersion++;
        }
Beispiel #2
0
        private void ApplyEvent(CreditCardDomainEvent domainEvent)
        {
            switch (domainEvent)
            {
            case CreditCardCreatedEvent creditCardCreatedEvent:
                break;

            case CreditCardDetailsSetEvent cardDetailsSetEvent:
                State.NameOnCard = cardDetailsSetEvent.NameOnCard;
                break;

            case CreditCardConnectedToAccountEvent cardConnectedToAccountEvent:
                State.AccountId = cardConnectedToAccountEvent.AccountId;
                break;

            default:
                throw new NotImplementedException();
            }
        }