//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); }
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); }
private void AddInsuranceContribution(InsuranceContributionContext insuranceContributionContext) { this.InsuranceContribution = new InsuranceContribution(insuranceContributionContext); }
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 }); }