using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace ScaffoldingExample.Helpers
{
    public static class DBSetWithOrder
    {
        /// <summary>
        /// Сортировка DbSet<T> на основании порядка, 
        /// если Т поддерживает требуемый интерфейс
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static IEnumerable<T> WithOrder<T>(this DbSet<T> data) where T : class, IOrderHelper<T>, new()
        {
            return
                data.ToList().OrderBy(x => x.GetOrder());
        }
    }
}