Beispiel #1
0
 private IEnumerable <RecurringGift> GetActiveNoneProcessedRecurringGifts(MinistryPlatformContext db)
 {
     return
         ((from r in db.RecurringGifts
           where r.End_Date == new DateTime(2000, 01, 01) && r.DonorAccount.Processor_Account_ID == null
           select r).ToList());
 }
Beispiel #2
0
 private void CreatePlanAndSubscriptions(MinistryPlatformContext mpDB, StripeOnboardingContext stripeDB)
 {
     foreach (var gift in GetActiveNoneProcessedRecurringGifts(mpDB))
     {
         var account = GetStripeAccount(stripeDB, gift.Donor.C__ExternalPersonID, gift.DonorAccount.Account_Number);
         CreatePlanAndSubscription(gift, account, mpDB, stripeDB);
     }
 }
Beispiel #3
0
 public Messages generate()
 {
     using (var stripeDB = new StripeOnboardingContext())
         using (var mpDB = new MinistryPlatformContext())
         {
             CreatePlanAndSubscriptions(mpDB, stripeDB);
             return(Messages.PlansAndSubscriptionsSuccess);
         }
 }
Beispiel #4
0
        private void UpdateRecurringGiftAndDonorAccount(RecurringGift gift, StripeAccount account, StripeSubscription subscription,
                                                        MinistryPlatformContext mpDB, StripeOnboardingContext stripeDB)
        {
            gift.Subscription_ID = subscription.Id;
            gift.DonorAccount.Processor_Account_ID = account.NewCardId;
            gift.DonorAccount.Processor_ID         = account.StripeCustomer.CustomerId;
            mpDB.SaveChanges();

            account.StripeCustomer.Imported = true;
            stripeDB.SaveChanges();
        }
Beispiel #5
0
        private void CreatePlanAndSubscription(RecurringGift gift, StripeAccount account, MinistryPlatformContext mpDB, StripeOnboardingContext stripeDB)
        {
            var plan         = _paymentService.CreatePlan(MapToRecurringGiftDto(gift), MapToContactDonor(gift));
            var subscription = _paymentService.CreateSubscription(plan.Id, account.StripeCustomer.CustomerId, GetStartDate(gift));

            UpdateRecurringGiftAndDonorAccount(gift, account, subscription, mpDB, stripeDB);
        }
Beispiel #6
0
 public FixSubscriptionCycle(MinistryPlatformContext mpContext, IPaymentProcessorService paymentService)
 {
     _mpContext      = mpContext;
     _paymentService = paymentService;
 }
Beispiel #7
0
 public VerifyStripeSubscriptions(MinistryPlatformContext mpContext, IPaymentProcessorService paymentService)
 {
     _mpContext      = mpContext;
     _paymentService = paymentService;
 }