예제 #1
0
        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()));
        }