Example #1
0
        /// <summary>
        /// Sorts the results of the entity set. TODO: Examine for changing to private.
        /// </summary>
        /// <param name="order">
        /// The set of order expressions that define the sort.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="order"/> is null.
        /// </exception>
        protected void SortResults([NotNull] OrderExpressionSet <T> order)
        {
            if (order == null)
            {
                throw new ArgumentNullException(nameof(order));
            }

            this.orderByExpressions.Clear();
            this.orderByExpressions.AddRange(order.Expressions);
        }
Example #2
0
        /// <summary>
        /// Sorts the results of the entity selection.
        /// </summary>
        /// <param name="sortOrder">
        /// The sort order to apply.
        /// </param>
        /// <returns>
        /// The current <see cref="EntitySet{T}"/>.
        /// </returns>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="sortOrder"/> is null.
        /// </exception>
        public EntitySet <T> Sort([NotNull] Action <OrderExpressionSet <T> > sortOrder)
        {
            if (sortOrder == null)
            {
                throw new ArgumentNullException(nameof(sortOrder));
            }

            var expressionSet = new OrderExpressionSet <T>();

            sortOrder.Invoke(expressionSet);
            this.SortResults(expressionSet);
            return(this);
        }