private List <FavoritesFoodModel> getFavoritesFood(List <FoodMini> listFood)
        {
            List <FavoritesFoodModel> listF = new List <FavoritesFoodModel>();
            bool found = false;

            for (int i = 0; i < listFood.Count; i++)
            {
                FoodMini mini1 = listFood[i];

                if (i == 0)
                {
                    FavoritesFoodModel model = new FavoritesFoodModel();
                    model.NameEn   = mini1.NameEn;
                    model.Name     = mini1.Name;
                    model.Quantity = mini1.Quantity;
                    listF.Add(model);
                }
                else
                {
                    for (int k = 0; k < listF.Count; k++)
                    {
                        FavoritesFoodModel model2 = listF[k];
                        if (model2.NameEn == mini1.NameEn)
                        {
                            model2.Quantity = model2.Quantity + mini1.Quantity;
                            listF.RemoveAt(k);
                            listF.Add(model2);
                            found = true;
                            break;
                        }

                        /*
                         * else {
                         *  FavoritesFoodModel model = new FavoritesFoodModel();
                         *  model.NameEn = mini1.NameEn;
                         *  model.Name = mini1.Name;
                         *  model.Quantity = mini1.Quantity;
                         *  listF.Add(model);
                         *
                         * }
                         */
                    }//end for
                    if (!found)
                    {
                        FavoritesFoodModel model = new FavoritesFoodModel();
                        model.NameEn   = mini1.NameEn;
                        model.Name     = mini1.Name;
                        model.Quantity = mini1.Quantity;
                        listF.Add(model);
                    }
                } //end else
            }     //end for

            return(listF);
        }
        public async Task initAsync()
        {
            try
            {
                IsBusy = true;
                List <FoodMini> listFood = new List <FoodMini>();
                string          date_str = DateTime.Now.ToString("yyyy'-'MM'-'dd", CultureInfo.InvariantCulture).Replace("-", "");
                for (int i = 1; i <= 30; i++)
                {
                    listFood.AddRange(await firebaseHelper.GetAllFoodByStatus(date_str, "Y"));
                    int d = i * -1;
                    date_str = DateTime.Now.AddDays(d).ToString("yyyy'-'MM'-'dd", CultureInfo.InvariantCulture).Replace("-", "");
                }


                //    List<FoodMini> listFood = await firebaseHelper.GetAllFood();
                List <SKColor> listColor = new List <SKColor>();
                listColor.Add(SKColor.Parse("#FF0033"));
                listColor.Add(SKColor.Parse("#FF8000"));
                listColor.Add(SKColor.Parse("#FFE600"));
                listColor.Add(SKColor.Parse("#1AB34D"));
                listColor.Add(SKColor.Parse("#801AB3"));
                listColor.Add(SKColor.Parse("#1A66FF"));
                listColor.Add(SKColor.Parse("#FF0033"));
                listColor.Add(SKColor.Parse("#FF8000"));
                listColor.Add(SKColor.Parse("#FFE600"));
                listColor.Add(SKColor.Parse("#1AB34D"));
                listColor.Add(SKColor.Parse("#801AB3"));
                listColor.Add(SKColor.Parse("#1A66FF"));
                listColor.Add(SKColor.Parse("#FF0033"));
                listColor.Add(SKColor.Parse("#FF8000"));
                listColor.Add(SKColor.Parse("#FFE600"));
                listColor.Add(SKColor.Parse("#1AB34D"));
                listColor.Add(SKColor.Parse("#801AB3"));
                listColor.Add(SKColor.Parse("#1A66FF"));

                listColor.Add(SKColor.Parse("#FF0033"));
                listColor.Add(SKColor.Parse("#FF8000"));
                listColor.Add(SKColor.Parse("#FFE600"));
                listColor.Add(SKColor.Parse("#1AB34D"));
                listColor.Add(SKColor.Parse("#801AB3"));
                listColor.Add(SKColor.Parse("#1A66FF"));
                listColor.Add(SKColor.Parse("#FF0033"));
                listColor.Add(SKColor.Parse("#FF8000"));
                listColor.Add(SKColor.Parse("#FFE600"));
                listColor.Add(SKColor.Parse("#1AB34D"));
                listColor.Add(SKColor.Parse("#801AB3"));
                listColor.Add(SKColor.Parse("#1A66FF"));
                listColor.Add(SKColor.Parse("#FF0033"));
                listColor.Add(SKColor.Parse("#FF8000"));
                listColor.Add(SKColor.Parse("#FFE600"));


                /*
                 * GFG gg = new GFG();
                 * listFood.Sort(gg);
                 */

                List <FavoritesFoodModel> listFavorites = new List <FavoritesFoodModel>();
                listFavorites = getFavoritesFood(listFood);
                _entries      = new List <Microcharts.ChartEntry>();
                for (int i = 0; i < listFavorites.Count; i++)
                {
                    FavoritesFoodModel mini = listFavorites[i];

                    Microcharts.ChartEntry entry1 = new Microcharts.ChartEntry(mini.Quantity)
                    {
                        Label      = mini.NameEn,
                        ValueLabel = mini.Quantity + "",
                        Color      = listColor[i],
                    };
                    _entries.Add(entry1);
                }

                MyBarChart.Chart = new BarChart {
                    Entries = _entries
                };

                IsBusy = false;
            }
            catch (Exception exx) {
                string error = exx.Message;
                IsBusy = false;
            }
        }