public static decimal AddDaysToRenewalDate(this CustomerAccountAddress currentAddress, int numberOfMonths) { decimal returnValue = 0.0M; if (currentAddress.PolicySubscriptions.FirstOrDefault() != null && currentAddress.PolicySubscriptions.Count() >= 1) { PolicySubscription currentSubsriptionPolicy = currentAddress.PolicySubscriptions.FirstOrDefault(); int numberOfRenewal = numberOfMonths / currentSubsriptionPolicy.MembershipPolicy.MembershipMaturityInMonths; if (numberOfMonths > 0) { returnValue += numberOfRenewal * currentSubsriptionPolicy.MembershipPolicy.MembershipFee; } returnValue += currentSubsriptionPolicy.MembershipPolicy.MonthlyFee * numberOfMonths; return(returnValue); } else { return(returnValue); } }
public static void UpdateMemberhipPolicyOnCustomerAddress(this CustomerAccountAddress currentAddress, PolicySubscription subscribedPolicy, MembershipPolicy policyToAssign, DateTime nextRenewalDate, DateTime nextMonthlyFeePaymentDate) { subscribedPolicy.PolicyGUID = policyToAssign.GUID; subscribedPolicy.CustomerAccountAddressGUID = currentAddress.GUID; subscribedPolicy.NextRenewalDate = nextRenewalDate; subscribedPolicy.NextMonthlyFeePaymentDate = nextMonthlyFeePaymentDate; subscribedPolicy.MembershipPolicy = policyToAssign; subscribedPolicy.CustomerAccountAddress = currentAddress; }
public static bool IsCustomerAddressMontlyFeePaid(this CustomerAccountAddress currentAddress) { if (currentAddress.PolicySubscriptions.FirstOrDefault() != null && currentAddress.PolicySubscriptions.Count() >= 1) { PolicySubscription currentSubsriptionPolicy = currentAddress.PolicySubscriptions.FirstOrDefault(); return(DateTime.Now.Date <= currentSubsriptionPolicy.NextMonthlyFeePaymentDate.Date); } else { return(false); } }
public static bool IsCustomerAddressMembershipPolicyExpired(this CustomerAccountAddress currentAddress) { if (currentAddress.PolicySubscriptions.FirstOrDefault() != null && currentAddress.PolicySubscriptions.Count() >= 1) { PolicySubscription currentSubsriptionPolicy = currentAddress.PolicySubscriptions.FirstOrDefault(); return(DateTime.Now.Date <= currentSubsriptionPolicy.NextRenewalDate.Date); } else { return(false); } }
public static PolicySubscription ApplyMembershipPolicyOnCustomerAddress(this CustomerAccountAddress currentAddress, MembershipPolicy currentPolicy, DateTime subscriptionDate, DateTime nextRenewalDate, DateTime nextMonthlyFeePaymentDate) { PolicySubscription newPolicySubscription = new PolicySubscription(); newPolicySubscription.GUID = Guid.NewGuid().ToString(); newPolicySubscription.PolicyGUID = currentPolicy.GUID; newPolicySubscription.CustomerAccountAddressGUID = currentAddress.GUID; newPolicySubscription.SubscriptionDate = subscriptionDate; newPolicySubscription.NextRenewalDate = nextRenewalDate; newPolicySubscription.NextMonthlyFeePaymentDate = nextMonthlyFeePaymentDate; newPolicySubscription.MembershipPolicy = currentPolicy; newPolicySubscription.CustomerAccountAddress = currentAddress; return(newPolicySubscription); }