private void GenerateCategoryTree() { linearCategories.RemoveAllViews(); DictionaryDBHelper dbHelper = new DictionaryDBHelper(); foreach (DictionaryDBHelper.Category category in dbHelper.GetCategories(null)) { BuildCategoryRow(category.Id, null, category.Name, 0, category.Is_checked); if (!GenerateSubcategories(dbHelper, category.Id, 0)) { HideExpandButton(category.Id); } } }
/// <summary> /// /// </summary> /// <param name="dbHelper"></param> /// <param name="parent_id"></param> /// <returns>true jeśli są podkategorie</returns> private bool GenerateSubcategories(DictionaryDBHelper dbHelper, long parent_id, int parents_count) { ++parents_count; bool hasChildren = false; foreach (DictionaryDBHelper.Category category in dbHelper.GetCategories(parent_id)) { BuildCategoryRow(category.Id, category.Parent_id, category.Name, parents_count, category.Is_checked); if (!GenerateSubcategories(dbHelper, category.Id, parents_count)) { HideExpandButton(category.Id); } hasChildren = true; } return(hasChildren); }