private async void DetailedSummonerDetails(string summonerID)
        {
            //All info about the summoner by id
            var championRank = await LolApiProcessor.GetChampionRank(region, summonerID);

            //"RANKED_TFT_PAIRS" been added!

            foreach (var item in championRank)
            {
                if (item.QueueType == "RANKED_SOLO_5x5")
                {
                    LeaguePoints.Text = item.LeaguePoints.ToString() + " LP";
                    GetSoloRankedIcons(item.Rank, item.Tier, item.QueueType);
                    WinsHolder.Text   = item.Wins.ToString() + " W";
                    LossesHolder.Text = item.Losses.ToString() + " L";
                }
                else if (item.QueueType == "RANKED_TFT_PAIRS")
                {
                    //TODO: new queue type? DO NOTHING!
                }
                else
                {
                    FlexLeaguePoints.Text = item.LeaguePoints.ToString() + " LP";

                    GetSoloRankedIcons(item.Rank, item.Tier, item.QueueType);
                    flexWinHolder.Text    = item.Wins.ToString() + " W";
                    FlexLossesHolder.Text = item.Losses.ToString() + " L";
                }
            }
        }
        /// <summary>
        /// AddChampionsToList
        /// </summary>
        /// <param name="AllChampsSelected"></param>
        public async void AddChampionsToList()
        {
            //Summoner Info
            var summonerInfo = await LolApiProcessor.LoadSummoner(region, summonerName);

            var summonerID = summonerInfo.ID;
            var icon       = summonerInfo.ProfileIconId;

            IdHolder.Text          = summonerID;
            ProfileNameHolder.Text = summonerInfo.Name;
            LevelHolder.Text       = summonerInfo.SummonerLevel.ToString();

            //All info about the champion
            Rootobject detailedChampionInfo = await LolApiProcessor.GetDetailedChampInfo();

            var testDetailedChampionInfo = detailedChampionInfo.Data.Values.OrderBy(x => x.Key).ToList();


            GetSummonerIcon(icon);
            DetailedSummonerDetails(summonerID);

            //summoner score
            var summonerScore = await LolApiProcessor.GetSummonerScore(summonerID);

            ScoreHolder.Text = summonerScore.SummonerScores;

            var championInfo = await LolApiProcessor.LoadChampion(region, summonerID);

            long ChampionID = 0;
            //bool champexist = false;

            var ChampionTagInfo = await LolApiProcessor.GetChampionTags();

            List <ChampionData> championData = new List <ChampionData>();

            foreach (var item in ChampionTagInfo)
            {
                foreach (var TagInfo in item.Data)
                {
                    championData.Add(new ChampionData(TagInfo.Value.Key, TagInfo.Value.Tags));
                }
            }

            foreach (var champ in championInfo)
            {
                ChampionID = champ.ChampionId;
                string championName = testDetailedChampionInfo.Where(x => x.Key == ChampionID).FirstOrDefault().Id;

                listOfChampionNames.Add(championName);
                //champexist = championData.Any(x => x.Key == ChampionID);

                if (champ.ChestGranted == true)
                {
                    string champinfoNotAvailable = chestsNotAvailableCounter++ + ". " + " (Lvl: " + champ.ChampionLevel.ToString() + ") - " + championName;

                    foreach (var tag in championData)
                    {
                        long champtagID = (long)tag.Key;
                        if (champtagID == ChampionID)
                        {
                            foreach (var lane in tag.Tags)
                            {
                                switch (lane)
                                {
                                case "Top_Laner":
                                    listOfTop_Laner_NotAvailable.Add(champinfoNotAvailable);
                                    break;

                                case "Jungle":
                                    listOfTJungle_NotAvailable.Add(champinfoNotAvailable);
                                    break;

                                case "Mid_Laner":
                                    listOfMid_Laner_NotAvailable.Add(champinfoNotAvailable);
                                    break;

                                case "Support_Laner":
                                    listOfSupport_Laner_NotAvailable.Add(champinfoNotAvailable);
                                    break;

                                case "ADC":
                                    listOfADC_NotAvailable.Add(champinfoNotAvailable);
                                    break;

                                default:
                                    break;
                                }
                            }
                        }
                    }
                    LaneCover.Hide();
                    ChesNotAvailableListBox.Items.Add(champinfoNotAvailable);
                    listOfChampionNamesNotAvailable.Add(champinfoNotAvailable);
                }
                else
                {
                    string champinfoAvailable = chestsAvailableCounter++ + ". " + " (Lvl: " + champ.ChampionLevel.ToString() + ") - " + championName;

                    //if (champexist == true)
                    //{
                    foreach (var tag in championData)
                    {
                        long champtagID = (long)tag.Key;
                        if (champtagID == ChampionID)
                        {
                            foreach (var lane in tag.Tags)
                            {
                                switch (lane)
                                {
                                case "Top_Laner":
                                    listOfTop_Laner_Available.Add(champinfoAvailable);
                                    break;

                                case "Jungle":
                                    listOfTJungle_Available.Add(champinfoAvailable);
                                    break;

                                case "Mid_Laner":
                                    listOfMid_Laner_Available.Add(champinfoAvailable);
                                    break;

                                case "Support_Laner":
                                    listOfSupport_Laner_Available.Add(champinfoAvailable);
                                    break;

                                case "ADC":
                                    listOfADC_Available.Add(champinfoAvailable);
                                    break;

                                default:
                                    //nothing default
                                    break;
                                }
                            }
                        }
                    }
                    //}

                    ChestAvailableListBox.Items.Add(champinfoAvailable);
                    listOfChampionNamesAvailable.Add(champinfoAvailable);
                }
            }
        }