private async Task LoadData()
        {
            if (Items.Any())
            {
                return;
            }

            IsBusy = true;
            var items = await _dataSource.GetEventCategories();

            Items.Add(new AllCategoryNodeViewModel());
            foreach (var item in items.OrderBy(i => i.Name))
            {
                var node  = new CategoryNodeViewModel(item);
                var exist = Items.FirstOrDefault(n => node.Name.Contains(n.Name));
                if (exist == null)
                {
                    Items.Add(node);
                    continue;
                }

                exist.Slug = exist.Slug + "," + node.Slug;
            }

            IsBusy = false;
        }
        private CategoryNodeViewModel GetViewModel(CategoryNode currentContent)
        {
            var viewModel = new CategoryNodeViewModel();

            viewModel.Model = currentContent;
            var variations = this._contentLoader.Service.GetChildren <MusicLessonVariation>(currentContent.ContentLink);

            if (variations != null)
            {
                var variationViewModels = variations.Select(x => this._service.Service.GetViewModel(x));
                viewModel.MusicLessonVariations = variationViewModels;
            }
            return(viewModel);
        }
示例#3
0
        private CategoryNodeRollupBlockViewModel GetViewModel(CategoryNodeRollupBlock block)
        {
            var viewModel = new CategoryNodeRollupBlockViewModel();

            viewModel.Block = block;

            var categoryNodes = block.CategoryNodes.Select(x => this._contentLoader.Service.Get <CategoryNode>(x));

            viewModel.CategoryNodes = categoryNodes.Select(x =>
            {
                var categoryNodeViewModel   = new CategoryNodeViewModel();
                categoryNodeViewModel.Model = x;
                categoryNodeViewModel.Url   = this._urlResolver.Service.GetUrl(x.ContentLink);
                return(categoryNodeViewModel);
            });

            return(viewModel);
        }