public static IDocumentFindCursor ToSortedCursor(this IDocumentFindCursor documentFindCursor, IEnumerable <SortingCriteria> sort) { var result = documentFindCursor; if (sort != null) { IDocumentFindSortedCursor sortedCursor = null; foreach (var criteria in sort) { if (string.Equals(criteria.SortingOrder, "ascending", StringComparison.OrdinalIgnoreCase)) { if (sortedCursor == null) { sortedCursor = result.SortBy(criteria.PropertyName); result = sortedCursor; } else { sortedCursor = sortedCursor.ThenBy(criteria.PropertyName); result = sortedCursor; } } else if (string.Equals(criteria.SortingOrder, "descending", StringComparison.OrdinalIgnoreCase)) { if (sortedCursor == null) { sortedCursor = result.SortByDescending(criteria.PropertyName); result = sortedCursor; } else { sortedCursor = sortedCursor.ThenByDescending(criteria.PropertyName); result = sortedCursor; } } } } return(result); }
public static IDocumentFindCursor ToSortedCursor(this IDocumentFindCursor documentFindCursor, Action <SortingBuilder> sort) { return(ToSortedCursor(documentFindCursor, ToSortingCriterias(sort))); }