public IList SortDataListType(IList lst)
{
IList query = null;
List<object> d = lst.Cast<object>().ToList();
IEnumerable<object> enuQueryable = d.AsQueryable();
if (lst != null && lst.Count > 0) {
SortField = GetProperties(d[0]).Where(x => x.ToLowerInvariant() == SortField.ToLowerInvariant()).FirstOrDefault();
} else {
SortField = string.Empty;
}
if (!string.IsNullOrEmpty(SortField)) {
if (SortDir.ToUpperInvariant().Trim().IndexOf("ASC") < 0) {
query = (from enu in enuQueryable
orderby GetPropertyValue(enu, SortField) descending
select enu).ToList();
} else {
query = (from enu in enuQueryable
orderby GetPropertyValue(enu, SortField) ascending
select enu).ToList();
}
} else {
query = (from enu in enuQueryable
select enu).ToList();
}
return query;
}