private void UpdateDrinkListView(List <DrinkMultiple> drinkMultiple, List <String> drinkNames)
        {
            if (drinkMultiple == null || drinkMultiple.Count < 1)
            {
                return;
            }

            int drinkOrder_MustContaianAtLeastIngridients = 2;

            List <DrinkMultiple> availableDrinksMixFiltered = CocktailDBService.FilterMixableDrinks(drinkMultiple, drinkNames, drinkOrder_MustContaianAtLeastIngridients);

            ListView listView = FindViewById <ListView>(Resource.Id.cocktailListView);

            List <Drink> allDrinks = new List <Drink>();


            // Clean and Empty the list
            int childCount = listView.ChildCount;

            if (childCount > 0)
            {
                List <Drink> emptyList = new List <Drink>();

                listAdapterDrink adapterTemp = new listAdapterDrink(this, emptyList);


                listView.SetAdapter(adapterTemp);
            }


            // Add to list

            foreach (var item in availableDrinksMixFiltered)
            {
                allDrinks.AddRange(item.Drinks);
            }

            // Order by all pictures first
            allDrinks = allDrinks.OrderByDescending(o => o.strDrinkThumb).ToList();

            listAdapterDrink adapter = new listAdapterDrink(this, allDrinks);

            listView.Adapter = adapter;
        }
        private SortedDictionary <string, DrinkMultiple> UpdateRepositoryData(List <string> drinkNames)
        {
            bool changed = false;

            // Repo is empty, get all new data
            if (TransporterClass.Repository == null)
            {
                foreach (var item in drinkNames)
                {
                    DrinkMultiple availableDrinks = CocktailDBService.getAllDrinks(item);

                    Repository.AddDrinkMultiple(availableDrinks, item);

                    changed = true;
                }
            }
            else
            {
                // Check if exist in repo or get it from DB

                foreach (string drinkItem in drinkNames)
                {
                    if (!TransporterClass.Repository.ContainsKey(drinkItem))
                    {
                        DrinkMultiple missingDrinkMultiple = CocktailDBService.getAllDrinks(drinkItem);

                        Repository.AddDrinkMultiple(missingDrinkMultiple, drinkItem);

                        changed = true;
                    }
                }
            }

            if (changed)
            {
                Repository.SaveData();

                TransporterClass.Repository = Repository.repositoryDictionery;
            }


            return(TransporterClass.Repository);
        }
        private void listView_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
        {
            ListView listView = sender as Android.Widget.ListView;

            if (listView == null)
            {
                return;
            }

            listAdapterDrink listAdapterDrink = listView.Adapter as listAdapterDrink;

            if (listAdapterDrink == null)
            {
                return;
            }

            Drink drink = listAdapterDrink.listDrink[e.Position];

            // TODO: DEV ONLY :  Remove this? Or you can have this left?
            Drink detailDrink = CocktailDBService.HttpGet(drink.idDrink.ToString(), HttpGetRequests.CocktailByID).Drinks[0];

            ChangePage(detailDrink);
        }