public TaxCalculationBase(
            EmployeeInsuranceFee employeeFee,
            RurMoney employeeNdfl,
            RurMoney additionalFee,
            RurMoney totalFee
            )
        {
            if (employeeNdfl < RurMoney.Zero)
            {
                throw new ArgumentOutOfRangeException(nameof(employeeNdfl));
            }
            if (additionalFee < RurMoney.Zero)
            {
                throw new ArgumentOutOfRangeException(nameof(additionalFee));
            }
            if (totalFee < RurMoney.Zero)
            {
                throw new ArgumentOutOfRangeException(nameof(totalFee));
            }

            EmployeeFee   = employeeFee;
            EmployeeNdfl  = employeeNdfl;
            AdditionalFee = additionalFee;
            TotalFee      = totalFee;
        }
示例#2
0
 protected TaxAggregate(
     RurMoney insuranceContributionsTotal,
     EmployeeInsuranceFee employeeFee,
     RurMoney ndfl,
     RurMoney total,
     decimal taxBurden)
 {
     EmployeeFee            = employeeFee;
     EmployeeNdfl           = ndfl;
     InsuranceContributions = insuranceContributionsTotal;
     Total     = total;
     TaxBurden = taxBurden;
 }
示例#3
0
        public static RurMoney CalculateTotalFee(
            EmployeeInsuranceFee employeeFee,
            RurMoney additionalFee,
            SelfInsuranceFee selfFee,
            TaxParameters @params)
        {
            var tmp = employeeFee.Total + additionalFee;

            switch (@params.CompanyType)
            {
            case ECompanyType.IP:
                return(tmp + selfFee.Total);

            default:
                return(tmp);
            }
        }