Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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();
        }