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; } }