Beispiel #1
0
        public void SetButtons(LocalFoodModel foodtosave)
        {
            lastPortiong   = "(100g)";
            Name.Text      = Name.Text; //+" ("+ foodtosave.Name + " g)"
            CarbsPg.Text   = String.Format("{0:C2}", foodtosave.Carb);
            FatPg.Text     = String.Format("{0:C2}", foodtosave.Fat);
            ProteinPg.Text = String.Format("{0:C2}", foodtosave.Prot);
            if (foodtosave.MoreInfo != null)
            {
                MoreInfo.Text = "Sugars:" + foodtosave.MoreInfo + "g";
            }
            Calories2.Text = String.Format("{0:C2}", foodtosave.Cal);
            List <string> portions = new List <string>();

            portions.Add("(100g)");
            foreach (var x in foodtosave.gramsEnum)
            {
                portions.Add(x.portionDescription + " (" + x.gramWeight + "g)");
            }

            portions.Add("Set Manually..");
            usercall = true;
            FoodPortions.ItemsSource = portions;


            FoodPortions.IsVisible     = true;
            FoodPortionLabel.IsVisible = true;

            FoodPortions.SelectedIndex = -1;
            //CarbsPg.Keyboard = Keyboard.Text;
            // CarbsPg.Text = 1.ToString();
            //// CarbsMg.Keyboard = Keyboard.Numeric;
            // FatPg.Text = 2.ToString();
            // ProteinPg.Text = 2.ToString();
            // MoreInfo.Text = 3.ToString();
            // Calories2.Text = 4.ToString();
            CheckTutorial6();
        }
Beispiel #2
0
        private async void SelectedItem(object sender, EventArgs e)
        {
            loadingPopup = new LoadingPopup();
            await Navigation.PushPopupAsync(loadingPopup);

            loadispushed = true;


            var tapped_label = sender as StackLayout;

            tapped_label.BackgroundColor = Color.Orange;
            var fcdId        = tapped_label.ClassId;
            var parsedObject = await APIGET(fcdId);

            if (parsedObject == null)
            {
                return;
            }

            var json2 = parsedObject["foodNutrients"].ToString();

            var foodNutrients = JsonConvert.DeserializeObject <IEnumerable <APIGetFoodModel> >(json2);
            var foodportion   = parsedObject["foodPortions"].ToString();
            var portionUnits  = JsonConvert.DeserializeObject <IEnumerable <APIgramWeightModel> >(foodportion);


            LocalFoodModel foodtosave = new LocalFoodModel();
            int            i          = 0;

            foreach (var nu in foodNutrients)
            {
                if (nu.nutrient.name == "Protein" && nu.nutrient.unitName == "g")
                {
                    foodtosave.Prot = nu.amount;
                    i += 1;
                }
                if (nu.nutrient.name == "Total lipid (fat)" && nu.nutrient.unitName == "g")
                {
                    foodtosave.Fat = nu.amount;

                    i += 1;
                }
                if (nu.nutrient.name == "Carbohydrate, by difference" && nu.nutrient.unitName == "g")
                {
                    foodtosave.Carb = nu.amount;

                    i += 1;
                }
                if (nu.nutrient.name == "Energy" && nu.nutrient.unitName == "kcal")
                {
                    foodtosave.Cal = nu.amount;

                    i += 1;
                }
                if (nu.nutrient.name == "Sugars, total including NLEA" && nu.nutrient.unitName == "g")
                {
                    foodtosave.MoreInfo = nu.amount;

                    i += 1;
                }
                if (i == 5)
                {
                    break;
                }
            }
            // foodtosave.Name = foodNutrients.First().gramWeight; // to add grams to name of food
            foodtosave.gramsEnum = portionUnits;
            var x = new FoodInfoModel();

            x.FoodCal        = String.Format("{0:C2}", foodtosave.Cal);
            x.FoodCarb       = String.Format("{0:C2}", foodtosave.Carb);
            x.FoodProt       = String.Format("{0:C2}", foodtosave.Prot);
            x.FoodFat        = String.Format("{0:C2}", foodtosave.Fat);
            x.MoreInfo       = foodtosave.MoreInfo;
            x.IsCustomButton = "100g\n\nnote: you can change\nthe portion later.";
            var view = new FoodInfo(x, null, 0, true);
            //var x = new PopupAlert("is this ok?");
            //await Navigation.PushPopupAsync(x, true);
            string myinput = await IsOk(this.Navigation, view, loadingPopup);

            //pageref.ClearButtons(false);
            //pageref.SetButtons(foodtosave);
            if (myinput == "Ok")
            {
                CreateSearch.Invoker.SetButtons(foodtosave);
                // await Navigation.RemovePopupPageAsync(loadingPage);

                await Navigation.RemovePopupPageAsync(this);
            }
            else
            {
                tapped_label.BackgroundColor = Color.Default;
                //await Navigation.RemovePopupPageAsync(loadingPage);
            }

            //var your_viewcell = tapped_label.Parent as ViewCell;
            //var your_binded_object = your_viewcell.BindingContext;
        }