public void VerifyOrAddPaymentMethod( int cardTypeId, string alias, string cardNumber, string securityNumber, string cardHolderName, DateTime expiration, OrderId orderId) { var existingPayment = _paymentMethods.Where(p => p.IsEqualTo(cardTypeId, cardNumber, expiration)) .SingleOrDefault(); if (existingPayment != null) { Emit(new BuyerAndPaymentMethodVerifiedDomainEvent(existingPayment.Id, orderId)); } else { var paymentMethodId = PaymentMethodId.New; var paymentMethodAdded = new BuyerPaymentMethodAddedDomainEvent(paymentMethodId, cardTypeId, alias, cardNumber, securityNumber, cardHolderName, expiration); Emit(paymentMethodAdded); var paymentMethodVerified = new BuyerAndPaymentMethodVerifiedDomainEvent(paymentMethodId, orderId); Emit(paymentMethodVerified); } }
public void Apply(BuyerAndPaymentMethodVerifiedDomainEvent aggregateEvent) { }