public int Compare(SoodaObject dbo1, SoodaObject dbo2) { object v1 = dbo1.Evaluate(_propertyChain, false); object v2 = dbo2.Evaluate(_propertyChain, false); if (_sortOrder == SortOrder.Ascending) return DoCompare(v1, v2, dbo1, dbo2); else return -DoCompare(v1, v2, dbo1, dbo2); }
public int Compare(SoodaObject dbo1, SoodaObject dbo2) { foreach (FieldCompareInfo fci in fields) { object v1 = dbo1.Evaluate(fci.propertyChain, false); object v2 = dbo2.Evaluate(fci.propertyChain, false); int result = DoCompare(v1, v2); if (result != 0) { if (fci.sortOrder == SortOrder.Ascending) return result; else return -result; } } return PrimaryKeyCompare(dbo1, dbo2); }