private static void SortAscending(SortOptionArgs sortOption, SortDescriptor <TIndexItem> descriptor) { if (string.IsNullOrWhiteSpace(sortOption.ParentPropertyName)) { descriptor.Field(f => f .Field(sortOption.PropertyName) .Ascending() ); } else { descriptor.Field(f => f .Nested(n => n .Path(sortOption.ParentPropertyName) ) .Field(sortOption.PropertyName) .Ascending() ); } }
public SortOptionArgs ComposeSort(DtParameters dtParameters) { var sort = new SortOptionArgs(); var translatableProperty = dtParameters.SortColumn.Split('.'); if (translatableProperty.Length == 2) { sort.ParentPropertyName = translatableProperty[0]; sort.PropertyName = translatableProperty[1]; } else { sort.PropertyName = dtParameters.SortColumn; } sort.SortOrder = string.IsNullOrWhiteSpace(dtParameters.SortOrder) || dtParameters.SortOrder == "asc" ? SortOrder.Ascending : SortOrder.Descending; return(sort); }