public static Task <IList <WebGenre> > ProcessAsync(IOwinContext context, WebSortField?sort, WebSortOrder?order) { ISet <Guid> necessaryMIATypes = new HashSet <Guid>(); necessaryMIATypes.Add(MediaAspect.ASPECT_ID); necessaryMIATypes.Add(SeriesAspect.ASPECT_ID); HomogenousMap items = MediaLibraryAccess.GetGroups(context, necessaryMIATypes, GenreAspect.ATTR_GENRE); if (items.Count == 0) { return(Task.FromResult <IList <WebGenre> >(new List <WebGenre>())); } var output = (from item in items where item.Key is string select new WebGenre { Title = item.Key.ToString() }); // sort if (sort != null && order != null) { output = output.SortWebGenre(sort, order); } return(Task.FromResult <IList <WebGenre> >(output.ToList())); }