public AddSuccess AddStrongerThanRelation(IBindingLevel weaker) { var res = weaker.AddWeakerThanRelation(this); switch (res) { case AddSuccess.ConflictingWeaker: return(AddSuccess.ConflictingStronger); case AddSuccess.ConflictingStronger: return(AddSuccess.ConflictingWeaker); default: return(res); } }
public AddSuccess AddSameRelation(IBindingLevel isame) { var same = (BindingLevel)isame; var sameGroup = same.EnsureGroup(); var res = EnsureGroup().AddSame(sameGroup); if (res == AddSuccess.Success) { foreach (var level in sameGroup.Levels) { level._group = _group; _group.AddLevel(level); } sameGroup.Clear(); } return(res); }
public int CompareTo(IBindingLevel iother) { var other = (BindingLevel)iother; if (_group == other._group) { return(0); } if (_group == null) { return(-1); } if (other._group == null) { return(1); } return(_group.CompareTo(other._group)); }
public AddSuccess AddWeakerThanRelation(IBindingLevel istronger) { var stronger = (BindingLevel)istronger; return(EnsureGroup().AddStronger(stronger.EnsureGroup())); }