ObservableCollection <AddFoodItemViewModel> convertFoodItemListToObs(List <FoodItem> lst, MEALTIME mt) { ObservableCollection <AddFoodItemViewModel> result = new ObservableCollection <AddFoodItemViewModel>(); AddFoodItemViewModel foodItemVm; foreach (var item in lst) { foodItemVm = new AddFoodItemViewModel() { FoodNameProperty = item.Name, FoodKey = item.Key, FoodAmountProperty = item.AmountGm.ToString(), Calories100Gm = item.Calories100G, CaloriesProperty = (item.Calories100G * item.AmountGm).ToString(), GMProperty = (100 * item.AmountGm).ToString() + "g" }; switch (mt) { case MEALTIME.BREAKFAST: foodItemVm.PropertyChanged += PropertyChangedFoodItemBreakfast; break; case MEALTIME.BRUNCH: foodItemVm.PropertyChanged += PropertyChangedFoodItemBrunch; break; case MEALTIME.DINNER: foodItemVm.PropertyChanged += PropertyChangedFoodItemDinner; break; case MEALTIME.SNACKS: foodItemVm.PropertyChanged += PropertyChangedFoodItemSnacks; break; } result.Add(foodItemVm); } return(result); }
private void PropertyChangedFoodItemSnacks(object sender, PropertyChangedEventArgs e) { AddFoodItemViewModel addFoodItemViewModel = (sender as AddFoodItemViewModel); switch (e.PropertyName) { case "deleteItem": SnacksCaloriesProperty = (float.Parse(SnacksCaloriesProperty) - float.Parse(addFoodItemViewModel.CaloriesProperty)).ToString(); updateDownItemTotalComponents(addFoodItemViewModel); SnacksListProperty.Remove(addFoodItemViewModel); break; case "FoodAmountPropertyUp": //the amount of the fooditem increased if (SnacksCaloriesProperty != null && (sender as AddFoodItemViewModel).FoodAmountProperty != null) { SnacksCaloriesProperty = (float.Parse(SnacksCaloriesProperty) + ((sender as AddFoodItemViewModel).Calories100Gm)).ToString(); updateUp100GmTotalComponents(addFoodItemViewModel); } break; case "FoodAmountProperty": //the amount of the item is decreased if (SnacksCaloriesProperty != null && (sender as AddFoodItemViewModel).FoodAmountProperty != null) { SnacksCaloriesProperty = (float.Parse(SnacksCaloriesProperty) - ((sender as AddFoodItemViewModel).Calories100Gm)).ToString(); updateDown100GmTotalComponents(addFoodItemViewModel); } break; default: break; } }
private void updateUp100GmTotalComponents(AddFoodItemViewModel addFoodItemViewModel) { TotalCarbsProperty = (float.Parse(TotalCarbsProperty) + addFoodItemViewModel.Carbs100Gm).ToString(); TotalProteinsProperty = (float.Parse(TotalProteinsProperty) + addFoodItemViewModel.Proteins100Gm).ToString(); TotalFatsProperty = (float.Parse(TotalFatsProperty) + addFoodItemViewModel.Fats100Gm).ToString(); TotalCaloriesProperty = (float.Parse(TotalCaloriesProperty) + addFoodItemViewModel.Calories100Gm).ToString(); }
private void updateDownItemTotalComponents(AddFoodItemViewModel addFoodItemViewModel) { TotalCarbsProperty = (float.Parse(TotalCarbsProperty) - (addFoodItemViewModel.Carbs100Gm) * (int.Parse(addFoodItemViewModel.FoodAmountProperty))).ToString(); TotalProteinsProperty = (float.Parse(TotalProteinsProperty) - (addFoodItemViewModel.Proteins100Gm) * (int.Parse(addFoodItemViewModel.FoodAmountProperty))).ToString(); TotalFatsProperty = (float.Parse(TotalFatsProperty) - (addFoodItemViewModel.Fats100Gm) * (int.Parse(addFoodItemViewModel.FoodAmountProperty))).ToString(); TotalCaloriesProperty = (float.Parse(TotalCaloriesProperty) - (addFoodItemViewModel.Calories100Gm) * (int.Parse(addFoodItemViewModel.FoodAmountProperty))).ToString(); }
private static void OnSelectedFoodItemSnacks(DependencyObject d, DependencyPropertyChangedEventArgs e) { AddDailyFoodViewModel addDailyFoodViewModel = d as AddDailyFoodViewModel; ObservableCollection <AddFoodItemViewModel> tmpLst; if (addDailyFoodViewModel.SnacksListProperty == null) { tmpLst = new ObservableCollection <AddFoodItemViewModel>(); } else { tmpLst = addDailyFoodViewModel.SnacksListProperty; } AddFoodItemViewModel addFoodItemViewModel = new AddFoodItemViewModel(); addFoodItemViewModel.PropertyChanged += addDailyFoodViewModel.PropertyChangedFoodItemSnacks; addFoodItemViewModel.FoodNameProperty = ((FoodItem)e.NewValue).Name; addFoodItemViewModel.FoodKey = ((FoodItem)e.NewValue).Key; addFoodItemViewModel.Calories100Gm = (addDailyFoodViewModel.addDailyFoodModel.getFoodDetails(((FoodItem)e.NewValue).Key)).Calories; addFoodItemViewModel.Carbs100Gm = (addDailyFoodViewModel.addDailyFoodModel.getFoodDetails(((FoodItem)e.NewValue).Key)).Carbohydrate; addFoodItemViewModel.Proteins100Gm = (addDailyFoodViewModel.addDailyFoodModel.getFoodDetails(((FoodItem)e.NewValue).Key)).Protien; addFoodItemViewModel.Fats100Gm = (addDailyFoodViewModel.addDailyFoodModel.getFoodDetails(((FoodItem)e.NewValue).Key)).Fats; tmpLst.Add(addFoodItemViewModel); addDailyFoodViewModel.SnacksListProperty = tmpLst; }