public IEnumerable <BookViewModel> Sort(IEnumerable <BookViewModel> loadedSource) { Contract.Requires(loadedSource != null); BookSorting.FillAuthor(loadedSource); var sorted = loadedSource.Where(x => x.Author != null).OrderByDescending(x => x.Author.Name); var notSortable = loadedSource.Where(x => x.Author == null); return(notSortable.Union(sorted)); }
public IEnumerable <BookViewModel> Sort(IEnumerable <BookViewModel> loadedSource) { Contract.Requires(loadedSource != null); BookSorting.FillFirstPage(loadedSource); var available = loadedSource.Where(x => x.FirstPage != null && x.FirstPage.Image.Thumbnail != null); var sorted = available.OrderByDescending(x => ColorMapLoader.LoadColorMap(x.ID, x.FirstPage.Image.ID, x.FirstPage.Image.Thumbnail.AbsoluteMasterPath, CoverComparator.Color.Red)); var notSortable = loadedSource.Where(x => x.FirstPage == null || x.FirstPage.Image.Thumbnail == null); return(notSortable.Union(sorted)); }