示例#1
0
        public void FindMax()
        {
            var max = Math.Max(ExMax2.ExInvalidity, ExMax2.ExRetaliation);

            max = Math.Max(max, ExMax2.ExNationalMovements);
            if (max == 0.0M)
            {
                IINEx2Tp = EIINExempt2Kind.None;
            }
            else if (ExMax2.ExInvalidity == max)
            {
                IINEx2Tp                   = EIINExempt2Kind.Invalid;
                ExMax2.ExRetaliation       = 0.0M;
                ExMax2.ExNationalMovements = 0.0M;
            }
            else if (ExMax2.ExRetaliation == max)
            {
                IINEx2Tp                   = IsPensioner ? EIINExempt2Kind.RetaliatedPensioner : EIINExempt2Kind.Retaliated;
                ExMax2.ExInvalidity        = 0.0M;
                ExMax2.ExNationalMovements = 0.0M;
            }
            else if (ExMax2.ExNationalMovements == max)
            {
                IINEx2Tp             = IsPensioner ? EIINExempt2Kind.NationalMovementPensioner : EIINExempt2Kind.NationalMovement;
                ExMax2.ExInvalidity  = 0.0M;
                ExMax2.ExRetaliation = 0.0M;
            }
            ExMax2.Ex2Tp = IINEx2Tp;
        }
示例#2
0
 public void SetFrom(SalaryInfo si)
 {
     ExUntaxedMinimum    = si._IIN_EXEMPT_UNTAXED_MINIMUM;
     ExDependants        = si._IIN_EXEMPT_DEPENDANTS;
     ExInvalidity        = si._IIN_EXEMPT_INVALIDITY;
     ExRetaliation       = si._IIN_EXEMPT_RETALIATION;
     ExNationalMovements = si._IIN_EXEMPT_NATIONAL_MOVEMENT;
     ExExpenses          = si._IIN_EXEMPT_EXPENSES;
     Ex2Tp = si.IINExempt2Kind;
 }
示例#3
0
        public void CorrectIINExempts(decimal amounbeforeiinex)
        {
            var d = SumIINExemptsAll();

            if (d > amounbeforeiinex)
            {
                MinusIINExempts(d - amounbeforeiinex);
            }
            if (ExInvalidity + ExNationalMovements + ExRetaliation == 0.0M)
            {
                Ex2Tp = EIINExempt2Kind.None;
            }
        }
示例#4
0
 public void SetFrom(CalcRRow2 cr)
 {
     ExDependants        = cr.ExDependants;
     ExInvalidity        = cr.ExInvalidity;
     ExNationalMovements = cr.ExNationalMovements;
     ExRetaliation       = cr.ExRetaliation;
     ExUntaxedMinimum    = cr.ExUntaxedMinimum;
     Ex2Tp                = cr.Ex2Tp;
     ExExpenses           = cr.ExExpenses;
     RateDDSN             = cr.RateDDSN;
     RateDNSN             = cr.RateDNSN;
     RateIIN              = cr.RateIIN;
     RateIIN2             = cr.RateIIN2;
     IINMargin            = cr.IINMargin;
     HasTaxDoc            = cr.HasTaxDoc;
     UseProgresiveIINRate = cr.UseProgresiveIINRate;
 }
示例#5
0
 public void Clear()
 {
     ExDependants        = 0.0M;
     ExInvalidity        = 0.0M;
     ExNationalMovements = 0.0M;
     ExRetaliation       = 0.0M;
     ExUntaxedMinimum    = 0.0M;
     Ex2Tp                = EIINExempt2Kind.None;
     ExExpenses           = 0.0M;
     RateDDSN             = 0.0M;
     RateDNSN             = 0.0M;
     RateIIN              = 0.0M;
     RateIIN2             = 0.0M;
     IINMargin            = 0.0M;
     HasTaxDoc            = false;
     UseProgresiveIINRate = false;
 }
示例#6
0
        public void SetMax(EIINExempt2Kind tp)
        {
            IINEx2Tp     = tp;
            ExMax2.Ex2Tp = IINEx2Tp;
            switch (IINEx2Tp)
            {
            case EIINExempt2Kind.Invalid:
                ExMax2.ExRetaliation       = 0.0M;
                ExMax2.ExNationalMovements = 0.0M;
                break;

            case EIINExempt2Kind.Retaliated:
            case EIINExempt2Kind.RetaliatedPensioner:
                ExMax2.ExInvalidity        = 0.0M;
                ExMax2.ExNationalMovements = 0.0M;
                break;

            case EIINExempt2Kind.NationalMovement:
            case EIINExempt2Kind.NationalMovementPensioner:
                ExMax2.ExInvalidity  = 0.0M;
                ExMax2.ExRetaliation = 0.0M;
                break;
            }
        }