Abl.Data.PagingInfo.AddSortExpression C# (CSharp) Method

AddSortExpression() public static method

public static AddSortExpression ( string sortMetaData, SortExpression sortExpression ) : string
sortMetaData string
sortExpression SortExpression
return string
        public static string AddSortExpression(
            string sortMetaData,
            SortExpression sortExpression)
        {
            // De-serialize the SortExpressionCollection meta data
            SortExpressionCollection collection =
                GetSortExpressions(sortMetaData);

            int index =
                collection.FindIndex(
                    s => s.Expression == sortExpression.Expression);

            if (index == 0)
            {
                collection[0].ToggleDirection();
            }
            else
            {
                if (index > 0)
                {
                    collection.RemoveAt(index);
                }

                collection.Insert(0, sortExpression);

                if (collection.Count > MaxSortSpecifications)
                {
                    collection.RemoveRange(MaxSortSpecifications, 1);
                }
            }

            // Re-serialize the SortExpressionCollection back into meta data
            return collection.Serialize();
        }

Same methods

PagingInfo::AddSortExpression ( SortExpression sortExpression ) : PagingInfo
PagingInfo::AddSortExpression ( string metaData ) : PagingInfo
PagingInfo::AddSortExpression ( string title, string sortExpression, SortDirection direction = SortDirection.Ascending ) : PagingInfo