Example #1
0
        //private static decimal VAT = 0.23m;

        public static YearlySelfEmployeeCalculationContext Create(TaxationForm taxation, bool isMedicalInsurance = false,
                                                                  Dictionary <Month, decimal> costs   = null,
                                                                  Dictionary <Month, decimal> incomes = null,
                                                                  InsuranceContributionContext insuranceContributionContext = null)
        {
            return(new YearlySelfEmployeeCalculationContext()
            {
                //VatRate = VAT,
                //Costs = costs ?? COSTS,
                //Incomes = incomes ?? INCOMES,
                //InsuranceContributionContext = insuranceContributionContext ?? InsuranceContributionContextFactory.CreateWithPercentage(),
                //IsMedicalInsurance = isMedicalInsurance
            });
        }
        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);
        }
Example #3
0
        public InsuranceContribution(InsuranceContributionContext contributionContext)
        {
            if (contributionContext.HealthBaseAmount <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(contributionContext.HealthBaseAmount));
            }
            if (contributionContext.Percentage == null)
            {
                throw new ArgumentNullException(nameof(contributionContext.Percentage));
            }

            this.Id = Guid.NewGuid();
            this.WithMedicalInsurance = contributionContext.IsMedicalInsurance;
            this.InsuranceBaseAmount  = contributionContext.InsuranceBaseAmount;
            this.HealthBaseAmount     = contributionContext.HealthBaseAmount;

            CalculateInsuranceParts(contributionContext.Percentage);
        }
Example #4
0
 private void AddInsuranceContribution(InsuranceContributionContext insuranceContributionContext)
 {
     this.InsuranceContribution = new InsuranceContribution(insuranceContributionContext);
 }
Example #5
0
 private SelfEmployeeCalculationContext CreataContext(decimal?baseAmount = null, decimal?incomeCost = null, bool?isGross = null, InsuranceContributionContext contributionContext = null)
 {
     return(SelfEmployeeCalculationContextFactory.Create(TaxationForm.GENERAL, null, baseAmount, incomeCost, isGross, contributionContext));
 }
 public static SelfEmployeeCalculationContext Create(TaxationForm taxationForm, Func <TaxCalculationContext, decimal> getIncomeTaxAmmount = null, decimal?baseAmount = null,
                                                     decimal?incomeCost = null, bool?isGross = null, InsuranceContributionContext contributionContext = null, decimal?vatTaxRate = null, decimal?monthlyTaxFreeAmount = null)
 {
     return(new SelfEmployeeCalculationContext()
     {
         BaseAmount = baseAmount ?? BASEAMOUNT,
         IncomeCost = incomeCost ?? INCOMECOSTAMOUNT,
         IncomeTaxAmmount = getIncomeTaxAmmount ?? new Func <TaxCalculationContext, decimal>((x) => TAXAMOUNT),
         TaxationForm = taxationForm,
         IsGross = isGross ?? false,
         InsuranceContributionContext = contributionContext ?? InsuranceContributionContextFactory.CreateWithPercentage(),
         VatTaxRate = vatTaxRate ?? VATTAXRATE,
         MonthlyTaxFreeAmount = monthlyTaxFreeAmount ?? MONTHLYTAXFREEAMOUNT
     });
 }