public static bool IngredientExistsInList(IngredientDtoV2 ingredient, List <IngredientDtoV2> ingredientList) { foreach (IngredientDtoV2 item in ingredientList) { if (item.IngredientId == ingredient.IngredientId) { return(true); } } return(false); }
void MyIngredientsAdd(IngredientDtoV2 ingredient) { MyIngredients.Insert(0, ingredient); if (!InSearchWindow) { Sorting.ResizeListView(ListView_myIngredients, MyIngredients.Count); MyIngredientModels.Insert(0, new IngredientListModel() { Ingredient = ingredient }); } SaveMyIngredients(MyIngredients); }
void ExcludedIngredientsAdd(IngredientDtoV2 ingredient) { ingredient.Role = IngredientRole.Exclude; ExcludedIngredients.Insert(0, ingredient); if (!InSearchWindow) { Sorting.ResizeListView(ListView_excludedIngredients, ExcludedIngredients.Count); ExcludedIngredientModels.Insert(0, new IngredientListModel() { Ingredient = ingredient }); } SaveExcludedIngredients(ExcludedIngredients); }
public static List <IngredientDtoV2> SortIngredientsByNameLenght(List <IngredientDtoV2> ingredients) { for (int i = 1; i < ingredients.Count; i++) { int j = 0; while (ingredients[i].IngredientName.Length > ingredients[j].IngredientName.Length) { j++; } IngredientDtoV2 item = ingredients[i]; ingredients.RemoveAt(i); ingredients.Insert(j, item); } return(ingredients); }
// --------------------------------------------- EVENTS --------------------------------------------------- // Klicked ingredient in search window private void ListView_SearchIngredients_ItemSelected(object sender, SelectedItemChangedEventArgs e) { if (ListView_SearchIngredients.SelectedItem == null) { return; } int index = ((ObservableCollection <IngredientListModel>)ListView_SearchIngredients.ItemsSource).IndexOf((IngredientListModel)e.SelectedItem); ((ListView)sender).SelectedItem = null; IngredientDtoV2 selectedIngredient = SearchIngredients[index]; SearchIngredientModels[index] = new IngredientListModel() { Ingredient = SearchIngredientModels[index].Ingredient, IsAdded = !SearchIngredientModels[index].IsAdded, AddedColor = SearchIngredientModels[index].AddedColor, AddedIcon = SearchIngredientModels[index].AddedIcon }; if (SearchModeIncluded) { if (MyIngredients.Any(p => p.IngredientId == selectedIngredient.IngredientId)) { MyIngredientsRemoveAt(MyIngredients.FindIndex(p => p.IngredientId == selectedIngredient.IngredientId)); } else { MyIngredientsAdd(selectedIngredient); } } else { if (ExcludedIngredients.Any(p => p.IngredientId == selectedIngredient.IngredientId)) { ExcludedIngredientsRemoveAt(ExcludedIngredients.FindIndex(p => p.IngredientId == selectedIngredient.IngredientId)); } else { ExcludedIngredientsAdd(selectedIngredient); } } }
private void ListView_SearchIngredients_ItemSelected(object sender, SelectedItemChangedEventArgs e) { IngredientDtoV2 selectedIngredient = searchIngredients[((List <ListItem>)ListView_SearchIngredients.ItemsSource).IndexOf((ListItem)e.SelectedItem)]; if (Sorting.IngredientExistsInList(selectedIngredient, shoppingListIngredients)) { foreach (IngredientDtoV2 ingredient in shoppingListIngredients) { if (ingredient.IngredientId == selectedIngredient.IngredientId) { shoppingListIngredients.Remove(ingredient); break; } } } else { shoppingListIngredients.Add(selectedIngredient); } UpdateSearchIngreadientsListView(searchIngredients); User.User.ShoppingListIngredients = JsonConvert.SerializeObject(shoppingListIngredients); }