private static List<PageIndexItem> SortPages(List<PageIndexItem> pages, SortOrder sortOrder, SortDirection sortDirection) { switch (sortOrder) { case SortOrder.CreatedDate: pages = pages.OrderBy(p => p.CreatedDate).ToList(); break; case SortOrder.PageName: pages = pages.OrderBy(p => p.PageName).ToList(); break; case SortOrder.SortIndex: pages = pages.OrderBy(p => p.SortOrder).ToList(); break; case SortOrder.StartPublishDate: pages = pages.OrderBy(p => p.StartPublish ?? DateTime.MinValue).ToList(); break; case SortOrder.UpdateDate: pages = pages.OrderBy(p => p.UpdateDate).ToList(); break; } if (sortDirection == SortDirection.Descending) { pages.Reverse(); } return pages; }