public Boolean EnsureDefaultAssignments(AppliedStyleRule other) { var isAnyDefaulted = false; foreach (var filteredAssignment in other.Assignments) { if (filteredAssignment is PseudoVisualAssignment pseudo) { var myPseudo = Assignments.OfType <PseudoVisualAssignment>().FirstOrDefault(a => a.Equals(a)); if (myPseudo == null) { continue; } foreach (var subAssignment in pseudo.Assignments) { var hasOverlap = myPseudo.DoOverlap(subAssignment); if (!hasOverlap) { var defaultAssignment = GetDefaultAssignment(subAssignment); myPseudo.AddAssignment(defaultAssignment); isAnyDefaulted = true; } } } else { if (!HasOverlappingAssignment(filteredAssignment)) { AddDefaultAssignment(filteredAssignment); isAnyDefaulted = true; } } } return(isAnyDefaulted); }
public void AddAppliedRule(AppliedStyleRule rule) { _appliedRules.Add(rule); }