/// <summary> /// make company monthly payment means recurring payment /// </summary> /// <createdby>Sumit Saurav</createdby> /// <createddate>09/july/2014</createddate> public static void MakeCompanyRecurringAnnualPayment() { try { #region Valiables DecisionPointRepository objDecisionPointRepository = null; RecurringPaymentResponseParam planDetails = null; objDecisionPointRepository = new DecisionPointRepository(); IList <CompanyIdResponseParam> lstCompany = objDecisionPointRepository.getAllAnnualPaymentCompanyId(); IList <PaymentAmountResponseParam> PaymentAmount = null; int amount = 0; #endregion if (lstCompany != null && lstCompany.Count > 0) { foreach (var item in lstCompany) { try { #region Company Annual Payment Calculation & Deductions // get payment amount of a compnay PaymentAmount = objDecisionPointRepository.getPaymentAmount(item.CompanyId).ToList(); planDetails = new RecurringPaymentResponseParam(); planDetails = objDecisionPointRepository.getPlanDetails(Convert.ToInt32(item.Id)); if (planDetails != null) { int IsPaymentDone = objDecisionPointRepository.IsRecurringPaymentDone(planDetails.CustomerId, remarkAnnualPlan); // check is payment already done for this year or not?? if (IsPaymentDone == 0) { //check wether is invoice is false or not?? if (!Convert.ToBoolean(PaymentAmount[0].IsInvoice)) { if (PaymentAmount != null && PaymentAmount.Count > 0) { decimal annualAmount = Convert.ToDecimal(PaymentAmount[0].CompanyFee); amount = Convert.ToInt32((annualAmount * 100)); } planDetails.Amount = amount; planDetails.Remark = remarkAnnualPlan; planDetails.UserId = item.Id; //update plan in stripe. StripePayment payment = new StripePayment(Convert.ToString(ConfigurationManager.AppSettings["StripeKey"])); XamarinStripeCore.AnnualMonthlyPaymentCharge(payment, planDetails); } } } #endregion } catch { } } } } catch { throw; } finally { } }