Пример #1
0
        public static async Task <IEnumerable <LocalizedString> > GetCategoriesAsync(this IActivityLibrary activityLibrary, CancellationToken cancellationToken)
        {
            var descriptors = await activityLibrary.ListBrowsableAsync(cancellationToken);

            return(descriptors
                   .Select(x => x.Category)
                   .Distinct(new LocalizedStringEqualityComparer())
                   .OrderBy(x => x.Value));
        }
Пример #2
0
        public async Task <IViewComponentResult> InvokeAsync(CancellationToken cancellationToken)
        {
            var descriptors = await activityLibrary.ListBrowsableAsync(cancellationToken).ToListAsync();

            var categories = await activityLibrary.GetCategoriesAsync(cancellationToken);

            var cardShapes = await Task.WhenAll(descriptors.Select(x => CreateCardShapeAsync(x, cancellationToken)));

            var viewModel = new ActivityPickerViewModel(categories, descriptors, cardShapes);

            return(View(viewModel));
        }