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); }
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); }