public void Handle(CreditCardRemoved @event)
 {
     using (var context = _contextFactory.Invoke())
     {
         // used for migration, if user removed one card but had another one, we set this one as the default card
         var account = context.Find <AccountDetail>(@event.SourceId);
         account.DefaultCreditCard     = @event.NextDefaultCreditCardId;
         account.Settings.ChargeTypeId = @event.NextDefaultCreditCardId.HasValue ? ChargeTypes.CardOnFile.Id : ChargeTypes.PaymentInCar.Id;
         context.Save(account);
     }
 }
Пример #2
0
        public void Handle(CreditCardRemoved @event)
        {
            using (var context = _contextFactory.Invoke())
            {
                var creditCard = context.Find <CreditCardDetails>(@event.CreditCardId);

                if (creditCard == null)
                {
                    return;
                }

                context.Set <CreditCardDetails>().Remove(creditCard);
                context.SaveChanges();
            }
        }