private void ResolveFieldPaths(SodaQueryComparator.Ordering[] orderings) { for (int fieldPathIndex = 0; fieldPathIndex < orderings.Length; ++fieldPathIndex) { SodaQueryComparator.Ordering fieldPath = orderings[fieldPathIndex]; fieldPath._resolvedPath = ResolveFieldPath(fieldPath.FieldPath()); } }
public virtual int Compare(int x, int y) { for (int orderingIndex = 0; orderingIndex < _orderings.Length; ++orderingIndex) { SodaQueryComparator.Ordering ordering = _orderings[orderingIndex]; int result = CompareByField(x, y, ordering._resolvedPath); if (result != 0) { return(ordering.Direction().Equals(SodaQueryComparator.Direction.Ascending) ? result : -result); } } return(0); }