private bool IsCoveredCountConditionSatisfied(TierAfterTaxAndImputedIncome t)
 {
     if (t.UseNonAndTaxQualifiedCount)
     {
         return IsNonAndTaxQualifiedCoveredCountSatisfied(t);
     }else
     {
         if (t.UseNonTaxQualifiedCounts)
         {
             //This code is wrong - it should be calling IsNonTaxQualifiedCoveredCountSatisfied.
             //Couldnt change it today as this is how the data is setup and will give different ImputedIncome and After tax amounts from sql function
             return t.MinTaxQualified <= TotalNonTaxQualifiedDependents() && t.MaxTaxQualified >= TotalNonTaxQualifiedDependents();
         }
         else
         {
             return IsTaxQualifiedCoveredCountSatisfied(t);
         }
     }
 }
 private bool IsSpouseEquivalentCoveredConditionSatisfied(TierAfterTaxAndImputedIncome t)
 {
     if (t.SpouseEquivalentCoveredCount == CountNotUsedFlag) return true;
     if (t.SpouseEquivalentCoveredCount >= TotalSpouseEquivalentCovered()) return true;
     return false;
 }
 private bool IsNonTaxQualifiedCoveredCountSatisfied(TierAfterTaxAndImputedIncome tierAfterTaxAndImputedIncome)
 {
     return tierAfterTaxAndImputedIncome.NonTaxQualifiedMin <= TotalNonTaxQualifiedDependents() && tierAfterTaxAndImputedIncome.NonTaxQualifiedMax >= TotalNonTaxQualifiedDependents();
 }
 private bool IsNonAndTaxQualifiedCoveredCountSatisfied(TierAfterTaxAndImputedIncome tierAfterTaxAndImputedIncome)
 {
     return IsNonTaxQualifiedCoveredCountSatisfied(tierAfterTaxAndImputedIncome) && IsTaxQualifiedCoveredCountSatisfied(tierAfterTaxAndImputedIncome);
 }
 private bool IsDomesticPartnerChildrenCoveredConditionSatisfied(TierAfterTaxAndImputedIncome t)
 {
     return (t.MinDPChildrenCovered <= TotalDomesticPartnerChildrenCovered()) && (t.MaxDPChildrenCovered >= TotalDomesticPartnerChildrenCovered());
 }
 private bool IsChildrenCoveredConditionSatisfied(TierAfterTaxAndImputedIncome t)
 {
     return t.MinChildrenCovered <= TotalChildrenCovered() && t.MaxChildrenCovered >= TotalChildrenCovered();
 }
 private bool IsTierAfterTaxAndImputedIncomeEligible(TierAfterTaxAndImputedIncome tierAfterTaxAndImputedIncome)
 {
     return IsChildrenCoveredConditionSatisfied(tierAfterTaxAndImputedIncome)
             && IsDomesticPartnerChildrenCoveredConditionSatisfied(tierAfterTaxAndImputedIncome)
             && IsTaxQualifiedSpouseEquivalentCoveredConditionSatisfied(tierAfterTaxAndImputedIncome)
             && IsSpouseEquivalentCoveredConditionSatisfied(tierAfterTaxAndImputedIncome)
             && IsCoveredCountConditionSatisfied(tierAfterTaxAndImputedIncome);
 }
 private bool IsTaxQualifiedCoveredCountSatisfied(TierAfterTaxAndImputedIncome tierAfterTaxAndImputedIncome)
 {
     return tierAfterTaxAndImputedIncome.MinTaxQualified <= TotalTaxQualifiedDependents() && tierAfterTaxAndImputedIncome.MaxTaxQualified >= TotalTaxQualifiedDependents();
 }