private void b_addFoodDialogAccept_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(tb_newFoodTextBox.Text))
            {
                lb_searchResults.ItemsSource = null;
                return;
            }

            var newFood = new Model.Food();

            newFood.name = tb_newFoodTextBox.Text;
            newFood.nutritionValuesString = temporaryNutritionValuesString;

            if (temporaryFood != null)
            {
                newFood.calories = APIRootObjectToNutritionValuesStringConverter.extractCaloriesFromAPIRootObject(temporaryFood);
            }
            else
            {
                newFood.calories = 0;
            }

            App._vmData.foodList.Add(newFood);

            temporaryNutritionValuesString = "";
            temporaryFood = null;

            FoodCalculation.calculateFood();
        }
        private void b_removeFood(object sender, RoutedEventArgs e)
        {
            if (lb_foodList.SelectedItem == null)
            {
                MessageBox.Show("Please select a food supply from your List!");
                return;
            }

            var foodToRemove = lb_foodList.SelectedItem as Model.Food;

            App._vmData.foodList.Remove(foodToRemove);

            FoodCalculation.calculateFood();

            //SnackBarMessage
            var messageQueue = sb_deletedFoodSnackBar.MessageQueue;
            var message      = "Deleted " + foodToRemove.name + ".";

            if (!String.IsNullOrWhiteSpace(foodToRemove?.location))
            {
                message = "Deleted " + foodToRemove.name + " in Location " + foodToRemove.location + ".";
            }
            //the message queue can be called from any thread
            Task.Factory.StartNew(() => messageQueue.Enqueue(message));
        }
Beispiel #3
0
        public static void createDummyPersons()
        {
            App._vmData.personList = new ObservableCollection <Person>();
            App._vmData.personList.Clear();

            var p1 = new Person
            {
                firstName     = "Mohammed",
                lastName      = "Yass",
                calorieIntake = 2000,
                imagePath     = (Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"ImageFiles\yass.jpg"))
            };

            var p2 = new Person
            {
                firstName     = "Barbara",
                lastName      = "Sprick",
                calorieIntake = 1500,
                imagePath     = (Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"ImageFiles\sprick.jpg"))
            };

            var p3 = new Person
            {
                firstName     = "Gerd",
                lastName      = "Möckel",
                calorieIntake = 3000,
                imagePath     = (Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"ImageFiles\moeckel.jpg"))
            };

            App._vmData.personList.Add(p1);
            App._vmData.personList.Add(p2);
            App._vmData.personList.Add(p3);

            FoodCalculation.calculateFood();
        }
Beispiel #4
0
        public static void createAllSampleData()
        {
            createDummyPersons();
            createSampleFoodList();
            createSampleWaterList();

            FoodCalculation.calculateFood();
            WaterCalculation.calculateWater();
            PeopleCalculation.calculateNumberOfPeople();
        }
Beispiel #5
0
        private void b_acceptDeletePerson_OnClick(object sender, RoutedEventArgs e)
        {
            App._vmData.personList.Remove(((((sender as Button).Parent as StackPanel).Parent as StackPanel).Parent as Card).DataContext as Person);

            PeopleCalculation.calculateNumberOfPeople();
            WaterCalculation.calculateWater();
            FoodCalculation.calculateFood();

            //Just to force an updaten on VM
            App._vmData.totalCalorieConsumption = "";
        }
Beispiel #6
0
        public static void createSampleFoodList()
        {
            App._vmData.foodList = new ObservableCollection <Food>();
            App._vmData.foodList.Clear();

            var f1 = new Food
            {
                name           = "Spaghetti",
                calories       = 500,
                location       = "Basement",
                expirationDate = DateTime.Now + TimeSpan.FromDays(300)
            };

            var f2 = new Food
            {
                name           = "Rice",
                calories       = 200,
                location       = "Kitchen",
                expirationDate = DateTime.Now + TimeSpan.FromDays(3000)
            };

            var f3 = new Food
            {
                name           = "Burnt Popcorn",
                calories       = 13337,
                location       = "Kitchen",
                expirationDate = DateTime.Now + TimeSpan.FromDays(30)
            };

            var f4 = new Food
            {
                name           = "Can of Tuna",
                calories       = 100,
                location       = "Basement",
                expirationDate = DateTime.Now + TimeSpan.FromDays(2)
            };

            var f5 = new Food
            {
                name           = "Korean Cup Noodles Soup Shin Ramyun",
                calories       = 5,
                location       = "Kitchen",
                expirationDate = DateTime.Now + TimeSpan.FromDays(130)
            };

            App._vmData.foodList.Add(f1);
            App._vmData.foodList.Add(f2);
            App._vmData.foodList.Add(f3);
            App._vmData.foodList.Add(f4);
            App._vmData.foodList.Add(f5);

            FoodCalculation.calculateFood();
        }
Beispiel #7
0
        private void b_addPerson_Click(object sender, RoutedEventArgs e)
        {
            var p = new Person {
                firstName = "New Person"
            };

            App._vmData.personList.Add(p);

            PeopleCalculation.calculateNumberOfPeople();
            WaterCalculation.calculateWater();
            FoodCalculation.calculateFood();

            //Just to force an updaten on VM
            App._vmData.totalCalorieConsumption = "";
        }
Beispiel #8
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            //Load Saved Data from User (ViewModel)
            Load.LoadFromJson();

            //Language
            if (_vmData.cultureInfo != null)
            {
                Thread.CurrentThread.CurrentUICulture = _vmData.cultureInfo;
            }
            else
            {
                _vmData.cultureInfo = Thread.CurrentThread.CurrentUICulture;
            }

            //Initial Calculations based on stored values
            FoodCalculation.calculateFood();
            WaterCalculation.calculateWater();
            PeopleCalculation.calculateNumberOfPeople();

            //DEBUG: Don't send email every time.
            //RequestEmail.postEmailRequestToEmailAPI(ExpirationCalculation.calculateExpiringFoodItem());
            //ExpirationCalculation.startExpirationEmailChecker();
        }
 private void EntityViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     FoodCalculation.calculateFood();
 }