private void updateList() { _expandedGroup = new ObservableCollection <Data.AssessmentCategoryGroup>(); foreach (Data.AssessmentCategoryGroup group in assessmentCategories) { Data.AssessmentCategoryGroup newGroup = new Data.AssessmentCategoryGroup(group.Category, group.Expanded); if (group.Expanded) { foreach (Assessment assessment in group) { newGroup.Add(assessment); } } _expandedGroup.Add(newGroup); } assessmentList.ItemsSource = _expandedGroup; }
protected async override void OnAppearing() { assessments = await App.Database.GetAssessments(); List <Category> categories = new List <Category>(); foreach (var assessment in assessments) { Category category = await App.Database.GetCategory(assessment.category_id); if (!categories.Any(item => item.id == category.id)) { categories.Add(category); } } assessmentCategories = new ObservableCollection <Data.AssessmentCategoryGroup>(); foreach (Category category in categories) { List <Assessment> categoryAssessments = new List <Assessment>(); Data.AssessmentCategoryGroup categoryGroup = new Data.AssessmentCategoryGroup(category.category); foreach (var assessment in assessments) { if (category.id == assessment.category_id) { categoryAssessments.Add(assessment); categoryGroup.Add(assessment); } } assessmentCategories.Add(categoryGroup); } updateList(); }