public void ProcessDeclineEmail(string processorPaymentId) { try { var apiToken = ApiLogin(); var result = GetDonationByProcessorPaymentId(processorPaymentId, apiToken, false); var rec = _ministryPlatformService.GetRecordsDict(_distributionPageId, apiToken, string.Format(",,,,,,,,\"{0}\"", result.donationId)); if (rec.Count == 0 || (rec.Last().ToNullableInt("dp_RecordID")) == null) { throw (new DonationNotFoundException(processorPaymentId)); } var program = rec.First().ToString("Statement_Title"); var paymentType = PaymentType.GetPaymentType(result.paymentTypeId).name; var declineEmailTemplate = PaymentType.GetPaymentType(result.paymentTypeId).declineEmailTemplateId; _donorService.SendEmail(declineEmailTemplate, result.donorId, result.donationAmt / Constants.StripeDecimalConversionValue, paymentType, result.donationDate, program, result.donationNotes); } catch (Exception ex) { throw new ApplicationException( string.Format( "ProcessDeclineEmail failed. processorPaymentId: {0},", processorPaymentId), ex); } }