public static IndividualUsnDTaxAggregate Calculate( TaxCalculationBase @base, IndividualUsnDTaxParameters @params) { var chargedTax = CalculateUsnDChargedTax(@params); var feeDeduction = @params.CustomerTaxParameters.Salary > RurMoney.Zero ? RurMoney.Min(@base.TotalFee, 0.5M * chargedTax) // есть сотрудники : @base.TotalFee; var usnTotalTax = chargedTax - feeDeduction; var(total, burgen) = CalculateTotal(usnTotalTax + @base.EmployeeNdfl, @base.TotalFee, @params); return(new IndividualUsnDTaxAggregate( chargedTax, feeDeduction, @base.TotalFee, usnTotalTax, @params.SelfInsuranceFee, @base.EmployeeFee, @base.AdditionalFee, @base.EmployeeNdfl, total, burgen )); }
public static OrgUsnDTaxAggregate Calculate( TaxCalculationBase @base, OrganizationUsnDTaxParameters @params) { var usnChargedTax = CalculateUsnDChargedTax(@params); var feeDeduction = @params.CustomerTaxParameters.Salary > RurMoney.Zero ? RurMoney.Min(0.5M * usnChargedTax, @base.TotalFee) : @base.TotalFee; var taxTotal = usnChargedTax - feeDeduction; var(total, burgen) = CalculateTotal(taxTotal + @base.EmployeeNdfl, @base.TotalFee, @params); return(new OrgUsnDTaxAggregate( usnChargedTax, taxTotal, @base.EmployeeFee, feeDeduction, @base.TotalFee, @base.EmployeeNdfl, total, burgen )); }