public AdditionalAccessoryCoordinateRuleData(AdditionalAccessoryVisibilityRules rule, string ruleModifier, AdditionalAccessoryVisibilityRules overrideRule, string overrideRuleModifier)
 {
     Rule                 = rule;
     RuleModifier         = ruleModifier;
     OverrideRule         = overrideRule;
     OverrideRuleModifier = overrideRuleModifier;
 }
 public void ClearSuppressionRule(AdditionalAccessoryVisibilityRules rule, AdditionalAccessoryVisibilityRulesModifiers modifier)
 {
     for (int i = SuppressedRules.Count - 1; i >= 0; i--)
     {
         if (SuppressedRules[i].Rule == rule && String.Equals(((int)modifier).ToString(), SuppressedRules[i].RuleModifier))
         {
             SuppressedRules.RemoveAt(i);
         }
     }
 }
 public void ClearOverrideRule(AdditionalAccessoryVisibilityRules rule, string modifier, AdditionalAccessoryVisibilityRules overrideRule, string overrideModifier)
 {
     for (int i = OverrideRules.Count - 1; i >= 0; i--)
     {
         if (OverrideRules[i].Rule == rule && String.Equals(modifier, OverrideRules[i].RuleModifier) && OverrideRules[i].OverrideRule == overrideRule && String.Equals(overrideModifier, OverrideRules[i].OverrideRuleModifier))
         {
             OverrideRules.RemoveAt(i);
         }
     }
 }
 public bool IsOverrideSource(AdditionalAccessoryVisibilityRules rule, string modifier)
 {
     foreach (AdditionalAccessoryCoordinateRuleData overrideRule in OverrideRules)
     {
         if (overrideRule.Rule == rule && (String.Equals(modifier, overrideRule.RuleModifier) || String.Equals(overrideRule.RuleModifier, ((int)AdditionalAccessoryVisibilityRulesModifiers.ALL).ToString())))
         {
             return(true);
         }
     }
     return(false);
 }
 public bool IsSuppressed(AdditionalAccessoryVisibilityRules rule)
 {
     foreach (AdditionalAccessoryCoordinateRuleData suppressionRule in SuppressedRules)
     {
         if (suppressionRule.Rule == rule)
         {
             return(true);
         }
     }
     return(false);
 }
 public AdditionalAccessoryCoordinateRuleData GetOverride(AdditionalAccessoryVisibilityRules rule)
 {
     foreach (AdditionalAccessoryCoordinateRuleData overrideRule in OverrideRules)
     {
         if (overrideRule.Rule == rule)
         {
             return(overrideRule);
         }
     }
     return(null);
 }
 public void SetOverrideRule(AdditionalAccessoryVisibilityRules rule, AdditionalAccessoryVisibilityRulesModifiers modifier, AdditionalAccessoryVisibilityRules overrideRule, AdditionalAccessoryVisibilityRulesModifiers overrideModifier)
 {
     foreach (AdditionalAccessoryCoordinateRuleData oRule in OverrideRules)
     {
         if (oRule.Rule == rule && String.Equals(((int)modifier).ToString(), oRule.RuleModifier) && oRule.OverrideRule == overrideRule && String.Equals(((int)overrideModifier).ToString(), oRule.OverrideRuleModifier))
         {
             return;
         }
     }
     OverrideRules.Add(new AdditionalAccessoryCoordinateRuleData(rule, ((int)modifier).ToString(), overrideRule, ((int)overrideModifier).ToString()));
 }
 public bool IsSuppressed(AdditionalAccessoryVisibilityRules rule, string modifier)
 {
     foreach (AdditionalAccessoryCoordinateRuleData suppressionRule in SuppressedRules)
     {
         if (suppressionRule.Rule == rule && String.Equals(modifier, suppressionRule.RuleModifier))
         {
             return(true);
         }
     }
     return(false);
 }
 public void ClearVisibilityRule(AdditionalAccessoryVisibilityRules rule)
 {
     if (VisibilityRules == null)
     {
         return;
     }
     for (int i = VisibilityRules.Count - 1; i >= 0; i--)
     {
         AdditionalAccessoryVisibilityRuleData data = VisibilityRules[i];
         if (data.Rule.Equals(rule))
         {
             VisibilityRules.RemoveAt(i);
         }
     }
 }
        public AdditionalAccessoryVisibilityRuleData FindVisibilityRule(AdditionalAccessoryVisibilityRules checkRule)
        {
            if (VisibilityRules == null)
            {
                return(null);
            }

            foreach (AdditionalAccessoryVisibilityRuleData rule in VisibilityRules)
            {
                if (rule.Rule.Equals(checkRule))
                {
                    return(rule);
                }
            }
            return(null);
        }
        public bool ContainsVisibilityRule(AdditionalAccessoryVisibilityRules checkRule)
        {
            if (VisibilityRules == null)
            {
                return(false);
            }

            foreach (AdditionalAccessoryVisibilityRuleData rule in VisibilityRules)
            {
                if (rule.Rule.Equals(checkRule))
                {
                    return(true);
                }
            }
            return(false);
        }
        public List <AdditionalAccessoryVisibilityRuleData> FindAllVisibilityRules(AdditionalAccessoryVisibilityRules checkRule)
        {
            List <AdditionalAccessoryVisibilityRuleData> matchRules = new List <AdditionalAccessoryVisibilityRuleData>();

            if (VisibilityRules == null)
            {
                return(matchRules);
            }

            foreach (AdditionalAccessoryVisibilityRuleData rule in VisibilityRules)
            {
                if (rule.Rule.Equals(checkRule))
                {
                    matchRules.Add(rule);
                }
            }
            return(matchRules);
        }
 public void SetSuppressionRule(AdditionalAccessoryVisibilityRules rule, AdditionalAccessoryVisibilityRulesModifiers modifier, bool value)
 {
     if (value)
     {
         foreach (AdditionalAccessoryCoordinateRuleData suppressionRule in SuppressedRules)
         {
             if (suppressionRule.Rule == rule && String.Equals(((int)modifier).ToString(), suppressionRule.RuleModifier))
             {
                 return;
             }
         }
         SuppressedRules.Add(new AdditionalAccessoryCoordinateRuleData(rule, ((int)modifier).ToString(), AdditionalAccessoryVisibilityRules.NONE, null));
     }
     else
     {
         ClearSuppressionRule(rule, modifier);
     }
 }
        public void SetVisibilityRule(AdditionalAccessoryVisibilityRules rule, string mod, bool enabled)
        {
            if (VisibilityRules == null)
            {
                VisibilityRules = new List <AdditionalAccessoryVisibilityRuleData>();
            }

            AdditionalAccessoryVisibilityRuleData foundRule = FindVisibilityRule(rule);

            if (!enabled && foundRule != null)
            {
                VisibilityRules.Remove(foundRule);
            }
            else if (enabled)
            {
                VisibilityRules.Add(new AdditionalAccessoryVisibilityRuleData(rule, mod));
            }
        }
        public bool ContainsVisibilityRule(AdditionalAccessoryVisibilityRules checkRule, AdditionalAccessoryVisibilityRulesModifiers mod)
        {
            if (VisibilityRules == null)
            {
                return(false);
            }

            foreach (AdditionalAccessoryVisibilityRuleData rule in VisibilityRules)
            {
                AdditionalAccessoryVisibilityRulesModifiers modifier;
                bool isEnumModifier = Enum.TryParse(rule.Modifier, out modifier);

                if (rule.Rule.Equals(checkRule) && (isEnumModifier && modifier.Equals(mod)))
                {
                    return(true);
                }
            }
            return(false);
        }
 public List <AdditionalAccessoryCoordinateRuleData> GetOverrideTargets(AdditionalAccessoryVisibilityRules rule, AdditionalAccessoryVisibilityRulesModifiers modifier)
 {
     return(GetOverrideTargets(rule, ((int)modifier).ToString()));
 }
 public List <AdditionalAccessoryCoordinateRuleData> GetOverrideTargets(AdditionalAccessoryVisibilityRules rule, string modifier)
 {
     return(OverrideRules.Where(or => or.OverrideRule == rule && String.Equals(modifier, or.OverrideRuleModifier)).ToList());
 }
 public bool IsOverrideSource(AdditionalAccessoryVisibilityRules rule, AdditionalAccessoryVisibilityRulesModifiers modifier)
 {
     return(IsOverrideSource(rule, ((int)modifier).ToString()));
 }
 public bool IsSuppressed(AdditionalAccessoryVisibilityRules rule, AdditionalAccessoryVisibilityRulesModifiers modifier)
 {
     return(IsSuppressed(rule, ((int)modifier).ToString()));
 }
 public AdditionalAccessoryVisibilityRuleData(AdditionalAccessoryVisibilityRules rule, string mod)
 {
     this.Rule     = rule;
     this.Modifier = mod;
 }