private void LoadItemList(object item) { NutritionItemCategorie categorieItem = item as NutritionItemCategorie; NutritionItem nutritionItem = item as NutritionItem; if (categorieItem != null) { if (categorieItem.ListOfSubCategories.Count >= 1) { // If there are sub categories in the list, show them NutritionItemCategories = categorieItem.ListOfSubCategories; IsItemListViewVisible = false; IsCategorieListViewVisible = true; } else { // If there are no more categories, show the nutrition items Task.Run(() => LoadNutritionItems(categorieItem.ListOfNutritionItemIDs)); IsItemListViewVisible = true; IsCategorieListViewVisible = false; } } else if (nutritionItem != null) { // Show detail page of item // Add to navigation stack } }
private void OnCategoriesClickedCommandExecute(object param) { // Put the clicked item in the buffer int id = Convert.ToInt32(param); NutritionItemCategorie item = _nutritionItemCategories.Where((x) => x.ID == id).FirstOrDefault(); _backBuffer.Add(item); LoadItemList(item); }
/// <summary> /// /// </summary> /// <param name="item"></param> /// <returns></returns> public static void GenerateCategories(string categories, NutritionItem nutritionItem) { IList <int> listOfCategorieIndexes = new List <int>(); var split = categories.Split(';'); foreach (var x in split) { var sub_split = x.Split('/'); categorieIndex++; NutritionItemCategorie categorie = new NutritionItemCategorie(categorieIndex); categorie.Name = sub_split[0]; var cat = ItemCategories.Where(x => x.Name == categorie.Name).FirstOrDefault(); if (cat == null) { ItemCategories.Add(categorie); } else { categorie = cat; } nutritionItem.Categories.Add(categorie.ID); categorie.ListOfNutritionItemIDs.Add(nutritionItem.ID); if (sub_split.Length <= 1) { continue; } categorieIndex++; NutritionItemCategorie sub_categorie = new NutritionItemCategorie(categorieIndex); sub_categorie.Name = sub_split[1]; sub_categorie.ParentID = categorie.ID; var sub_cat = categorie.ListOfSubCategories.Where(x => x.Name == sub_categorie.Name).FirstOrDefault(); if (sub_cat == null) { categorie.ListOfSubCategories.Add(sub_categorie); } else { sub_categorie = sub_cat; } nutritionItem.Categories.Append(sub_categorie.ID); sub_categorie.ListOfNutritionItemIDs.Add(nutritionItem.ID); } }