private string GetInsuranceBaseAmountKey(InsuranceContributionForm insuranceContribution)
        {
            string key;

            switch (insuranceContribution)
            {
            case InsuranceContributionForm.LACK:
                key = INSURANCEBASEAMOUNTWITHSTARTKEY;
                break;

            case InsuranceContributionForm.NORMAL:
                key = INSURANCEBASEAMOUNTKEY;
                break;

            case InsuranceContributionForm.PREFERENTIAL:
                key = INSURANCEBASEAMOUNTWITHDICOUNTKEY;
                break;

            default:
                key = INSURANCEBASEAMOUNTKEY;
                break;
            }

            return(key);
        }
        public InsuranceContributionContext Create(InsuranceContributionForm insuranceContribution, decimal accidentContributionPercentage, bool withMedical)
        {
            var key     = GetInsuranceBaseAmountKey(insuranceContribution);
            var context = new InsuranceContributionContext()
            {
                HealthBaseAmount    = GetValue(HEALTHBASEKEY),
                InsuranceBaseAmount = GetValue(key),
                Percentage          = _insuranceContributionRepository.GetPercentage(),
                IsMedicalInsurance  = withMedical
            };

            context.Percentage.AddAccidentPercentage(accidentContributionPercentage / 100);
            return(context);
        }