public static int SortByRank(IRankable a, IRankable b) { if (a == null) { return(b == null ? 0 : -1); } if (b == null) { return(1); } if (a.Rank > b.Rank) { return(1); } else if (a.Rank < b.Rank) { return(-1); } if (a is IComparable && b is IComparable && a.GetType() == b.GetType()) { return(((IComparable)a).CompareTo((IComparable)b)); } return(0); }
/// <summary> /// Constructors initializes the Tournament read-only field and takes one argument /// </summary> /// <param name="rankable">A tournament to rank</param> public Ranker(IRankable rankable) { if (rankable == null | !rankable.ReadyToRank) { throw new RankException(); } Rankable = rankable; }
public static int SortByRank(IRankable a, IRankable b) { if (a == null) return b == null ? 0 : -1; if (b == null) return 1; if (a.Rank > b.Rank) return 1; else if (a.Rank < b.Rank) return -1; else return 0; }
public static int SortByRank(IRankable a, IRankable b) { if (a == null) return b == null ? 0 : -1; if (b == null) return 1; if (a.Rank > b.Rank) return 1; else if (a.Rank < b.Rank) return -1; if (a is IComparable && b is IComparable && a.GetType() == b.GetType()) return ((IComparable)a).CompareTo((IComparable)b); return 0; }
/// <summary> /// Helper method to perform boolean operations on two <see cref="IRankable"/> /// </summary> public static bool IsRank(TermCategoryBoolOps op, IRankable t1, IRankable t2) { switch (op) { case TermCategoryBoolOps.Ne: return((t1?.GetRank() ?? 0) != (t2?.GetRank() ?? 0)); case TermCategoryBoolOps.Gt: return((t1?.GetRank() ?? 0) > (t2?.GetRank() ?? 0)); case TermCategoryBoolOps.Lt: return((t1?.GetRank() ?? 0) < (t2?.GetRank() ?? 0)); case TermCategoryBoolOps.Ge: return((t1?.GetRank() ?? 0) >= (t2?.GetRank() ?? 0)); case TermCategoryBoolOps.Le: return((t1?.GetRank() ?? 0) <= (t2?.GetRank() ?? 0)); default: return((t1?.GetRank() ?? 0) == (t2?.GetRank() ?? -1)); } }
public static int SortByRank(IRankable a, IRankable b) { if (a == null) { return(b == null ? 0 : -1); } if (b == null) { return(1); } if (a.Rank > b.Rank) { return(1); } else if (a.Rank < b.Rank) { return(-1); } else { return(0); } }
public Matcher(IRankable i_Ranker) { Ranker = i_Ranker; }
public FriendsMatcher(User i_LoggedInUser, IRankable i_RankStragety) { Matcher = new Matcher(i_RankStragety); r_LoggedInUser = i_LoggedInUser; }
public RankedFriendsManager(User i_LoggedInUser, IRankable i_RankByStargety) { r_RankedFriends = new FriendsMatcher.FriendsMatcher(i_LoggedInUser, i_RankByStargety); }