コード例 #1
0
        public ChampListPage()
        {
            Title  = "Database";
            filter = new FilterControl {
                Items = new List <string> {
                    "Champions", "Items", "Summoner Spells"
                }
            };

            imageTemplate         = new DataTemplate(typeof(ChampionListCell));
            otherTemplate         = new DataTemplate(typeof(ItemListCell));
            summonerSpellTemplate = new DataTemplate(typeof(SummonerSpellListCell));

            var task = Task.Run(async() =>
            {
                var championList = await loadChampions();
                CView.Content    = championList;
            });

            task.Wait();

            filter.SelectedIndexChanged += async(sender, e) =>
            {
                switch (filter.SelectedIndex)
                {
                case 0:
                    var championList = await loadChampions();

                    CView.Content = championList;
                    break;

                case 1:
                    var itemList = await loadItems();

                    CView.Content = itemList;
                    break;

                case 2:
                    var summonerSpellList = await loadSummonerSpells();

                    CView.Content = summonerSpellList;
                    break;
                }
            };

            Content = new StackLayout
            {
                Children =
                {
                    filter,
                    CView
                }
            };

            NavigationPage.SetHasNavigationBar(this, true);
        }
コード例 #2
0
        public FilterHeaderCell()
        {
            var filter = new FilterControl();

            filter.SetBinding(FilterControl.ItemsProperty, "Items");

            var cellLayout = new StackLayout
            {
                Padding = new Thickness(10, 0, 0, 0),
                //Orientation = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                Children          = { filter }
            };

            View = cellLayout;
        }
コード例 #3
0
        public static async Task <DownloadImages> loadPage(Summoner summoner, Region region, Page searchPage)
        {
            SearchPage = searchPage;
            infoIcon   = new ToolbarItem {
                Text = "+"
            };
            icon = string.Format(icon, summoner.Region, summoner.Id);

            if (!(App.RecentDatabase.GetItems().Where(item => item.Name == summoner.Name && item.Region == summoner.Region.ToString().ToUpper()).ToList().Count > 0))
            {
                App.RecentDatabase.SaveItem(new SearchesAndFavorites {
                    Name = summoner.Name, Region = summoner.Region.ToString().ToUpper(), Icon = icon, summonerID = (int)summoner.Id
                });
            }

            if (App.RecentDatabase.GetItems().Count > 10)
            {
                App.RecentDatabase.DeleteItem(1);
            }

            memeTest = new FilterControl {
                Items = new List <string> {
                    "Match History", "Current Game", "Statistics"
                }
            };
            memeTest.SelectedIndex = 0;
            var webImage = new Image {
                Aspect = Aspect.AspectFit
            };
            var rankedImage = new Image {
                WidthRequest = 50, HeightRequest = 50
            };

            webImage.Source = ImageSource.FromUri(new Uri(icon));
            var rankedInfo = new Label();

            try
            {
                allLeagues = api.GetLeagues(summoner.Region, new List <int> {
                    (int)summoner.Id
                });
                ranked5v5League = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedSolo5x5);
                div             = ranked5v5League.Entries.Where(x => x.PlayerOrTeamId == summoner.Id.ToString()).Select(x => x.Division).Single();
            }
            catch
            {
                ranked5v5League = null;
                div             = null;
                allLeagues      = null;
            }

            if (ranked5v5League == null)
            {
                rankedImage.Source = ImageSource.FromFile("Unranked.png");
                rankedInfo.Text    = "Unranked";
            }
            else
            {
                rankedImage.Source = ImageSource.FromFile(ranked5v5League.Tier + ".png");
                if (ranked5v5League.Tier == RiotSharp.LeagueEndpoint.Enums.Tier.Challenger || ranked5v5League.Tier == RiotSharp.LeagueEndpoint.Enums.Tier.Master)
                {
                    rankedInfo.Text = ranked5v5League.Tier.ToString();
                }
                else
                {
                    rankedInfo.Text = ranked5v5League.Tier + " " + div;
                }
            }

            grid = new Grid
            {
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = new GridLength(50, GridUnitType.Absolute)
                    }
                },
                ColumnDefinitions =
                {
                    new ColumnDefinition {
                        Width = new GridLength(50, GridUnitType.Absolute)
                    },
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    },
                    new ColumnDefinition {
                        Width = new GridLength(50, GridUnitType.Absolute)
                    },
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    }
                }
            };

            contentVue = new ContentView();

            grid.Children.Add(webImage, 0, 0);
            grid.Children.Add(new Label
            {
                Text = summoner.Name + Environment.NewLine + "Level: " + summoner.Level
            }, 1, 0);
            grid.Children.Add(rankedImage, 2, 0);
            grid.Children.Add(rankedInfo, 3, 0);

            var MatchList = await loadMatchHistory(summoner, region);

            contentVue.Content = MatchList;

            memeTest.SelectedIndexChanged += async(object sender, EventArgs e) =>
            {
                switch (memeTest.SelectedIndex)
                {
                case 0:
                    UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);
                    MatchList = await loadMatchHistory(summoner, region);

                    contentVue.Content = MatchList;
                    UserDialogs.Instance.HideLoading();
                    break;

                case 1:
                    UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);
                    currentGameView = await loadCurrentGameView(summoner, summoner.Region);

                    contentVue.Content = currentGameView;
                    UserDialogs.Instance.HideLoading();
                    break;

                case 2:
                    UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);
                    var scrollView = await loadPlayerStats(summoner, region);

                    contentVue.Content = scrollView;
                    UserDialogs.Instance.HideLoading();
                    break;
                }
            };
            return(new DownloadImages(summoner));
        }
コード例 #4
0
        public SearchedSummonerPage(Summoner summoner, Region region)
        {
            InitializeComponent();
            nameText.BackgroundColor = Color.FromRgba(0, 0, 0, 0.6);
            Title         = summoner.Name;
            Region        = region;
            Summoner      = summoner;
            filterControl = new FilterControl();
            filterControl.SelectedIndex = 0;
            contentViewFilter.Content   = filterControl;

            nameText.Text = "\n\t\t  " + summoner.Name;

            summonerIcon.Source = string.Format(icon, region, summoner.Id);

            var frequentlyPlayed = Task.Run(async() =>
            {
                var matchList  = await api.GetRecentGamesAsync(region, summoner.Id);
                var freqPlayed = matchList.GroupBy(q => q.ChampionId)
                                 .OrderByDescending(gp => gp.Count())
                                 .Select(g => g.Key)
                                 .First();
                var championPlayedMost = staticApi.GetChampion(region, freqPlayed, new List <ChampionData> {
                    ChampionData.skins
                });
                freqPlayedChamp.Source = string.Format(skinString, championPlayedMost.Key, championPlayedMost.Skins[0].Num);
            });

            frequentlyPlayed.Wait();

            var MatchListTask = Task.Run(async() =>
            {
                var MatchList      = await loadMatchHistory(summoner, region, this);
                contentVue.Content = MatchList;
            });

            MatchListTask.Wait();

            switch (App.device.HardwareVersion)
            {
            case "iPhone SE":
            case "iPhone 5S":
            case "iPhone 5S GSM":
            case "iPhone 5S CDMA":
            case "iPhone 5":
            case "iPhone 5 GSM":
            case "iPhone 5 CDMA":
                contentVue.HeightRequest = 230;
                break;

            case "iPhone 6S":
            case "iPhone 6":
            case "iPhone 7":
                contentVue.HeightRequest = 330;
                break;

            case "iPhone 6+":
            case "iPhone 6s+":
            case "iPhone 6 Plus":
            case "iPhone 6S Plus":
            case "iPhone 7 Plus":
            case "iPhone 7+":
                contentVue.HeightRequest = 410;
                break;
            }

            try
            {
                allLeagues = api.GetLeagues(region, new List <int> {
                    (int)summoner.Id
                });
                ranked5v5League     = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedSolo5x5);
                filterControl.Items = new List <string> {
                    "Match History", "Ranked", "Current Game"
                };
            }
            catch
            {
                filterControl.Items = new List <string> {
                    "Match History", "Current Game"
                };
            }

            filterControl.SelectedIndexChanged += async(object sender, EventArgs e) =>
            {
                UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);
                try
                {
                    allLeagues = await api.GetLeaguesAsync(region, new List <int> {
                        (int)summoner.Id
                    });

                    ranked5v5League = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedSolo5x5);

                    switch (filterControl.SelectedIndex)
                    {
                    case 0:
                        var MatchList = await loadMatchHistory(summoner, region, this);

                        contentVue.Content = MatchList;
                        UserDialogs.Instance.HideLoading();
                        break;

                    case 1:
                        var statsPage = await loadRanked(summoner, summoner.Region, this);

                        contentVue.Content = statsPage;
                        UserDialogs.Instance.HideLoading();
                        break;

                    case 2:
                        currentGameView = await loadCurrentGameView(summoner, summoner.Region, this);

                        contentVue.Content = currentGameView;
                        UserDialogs.Instance.HideLoading();
                        break;
                    }
                }
                catch
                {
                    switch (filterControl.SelectedIndex)
                    {
                    case 0:
                        var MatchList = await loadMatchHistory(summoner, region, this);

                        contentVue.Content = MatchList;
                        UserDialogs.Instance.HideLoading();
                        break;

                    case 1:
                        currentGameView = await loadCurrentGameView(summoner, summoner.Region, this);

                        contentVue.Content = currentGameView;
                        UserDialogs.Instance.HideLoading();
                        break;
                    }
                }
            };
            var soloRankString = "";
            var soloIcon       = "";
            var flexRankString = "";
            var flexIcon       = "";

            try
            {
                allLeagues = api.GetLeagues(region, new List <int> {
                    (int)summoner.Id
                });
                ranked5v5League = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedSolo5x5);
                div             = ranked5v5League.Entries.Where(x => x.PlayerOrTeamId == summoner.Id.ToString()).Select(x => x.Division).Single();
                var soloLP = ranked5v5League.Entries.FirstOrDefault(x => x.PlayerOrTeamName == summoner.Name).LeaguePoints;
                soloRankString = ranked5v5League.Tier + " " + div + " " + soloLP + "LP\nSolo Queue";

                switch (ranked5v5League.Tier)
                {
                case RiotSharp.LeagueEndpoint.Enums.Tier.Bronze:
                    soloIcon = "Bronze.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Silver:
                    soloIcon = "Silver.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Gold:
                    soloIcon = "Gold.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Platinum:
                    soloIcon = "Platinum.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Diamond:
                    soloIcon = "Diamond.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Master:
                    soloIcon = "Master.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Challenger:
                    soloIcon = "Challenger.png";
                    break;
                }
            }
            catch
            {
                soloRankString = "Unranked\nSolo Queue";
                soloIcon       = "Unranked.png";
            }
            try
            {
                rankedFlexLeague = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedFlexSR);
                flexDiv          = rankedFlexLeague.Entries.Where(x => x.PlayerOrTeamId == summoner.Id.ToString()).Select(x => x.Division).Single();
                var flexLP = rankedFlexLeague.Entries.FirstOrDefault(x => x.PlayerOrTeamName == summoner.Name).LeaguePoints;
                flexRankString = rankedFlexLeague.Tier + " " + flexDiv + " " + flexLP + "LP\nFlex 5v5";

                switch (rankedFlexLeague.Tier)
                {
                case RiotSharp.LeagueEndpoint.Enums.Tier.Bronze:
                    flexIcon = "Bronze.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Silver:
                    flexIcon = "Silver.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Gold:
                    flexIcon = "Gold.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Platinum:
                    flexIcon = "Platinum.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Diamond:
                    flexIcon = "Diamond.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Master:
                    flexIcon = "Master.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Challenger:
                    flexIcon = "Challenger.png";
                    break;
                }
            }
            catch
            {
                flexRankString = "Unranked\nFlex 5v5";
                flexIcon       = "Unranked.png";
            }

            var grid = new Grid
            {
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = new GridLength(50, GridUnitType.Absolute)
                    }
                },
                ColumnDefinitions =
                {
                    new ColumnDefinition {
                        Width = new GridLength(50, GridUnitType.Absolute)
                    },
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    },
                    new ColumnDefinition {
                        Width = new GridLength(50, GridUnitType.Absolute)
                    },
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    },
                }
            };

            grid.Children.Add(new Image {
                Source = soloIcon
            }, 0, 0);
            grid.Children.Add(new Label {
                TextColor = Color.White, Text = soloRankString
            }, 1, 0);

            grid.Children.Add(new Image {
                Source = flexIcon
            }, 2, 0);
            grid.Children.Add(new Label {
                TextColor = Color.White, Text = flexRankString
            }, 3, 0);
            grid.BackgroundColor      = Color.FromRgba(0, 0, 0, 0.6);
            rankedImagesStuff.Content = grid;
        }
コード例 #5
0
ファイル: ChampionPage.cs プロジェクト: echo000/TestProject2
        public ChampionPage(ChampionStatic champion)
        {
            NavigationPage.SetHasNavigationBar(this, true);

            memeTest = new FilterControl {
                Items = new List <string> {
                    "Lore", "Tips", "Abilities"
                }
            };
            memeTest.SelectedIndex = 0;

            Title = champion.Name;

            skins = new ObservableCollection <Skins>();

            for (int i = 0; i < champion.Skins.Count; i++)
            {
                skins.Add(new Skins {
                    ImageUrl = string.Format(skinString, champion.Key, champion.Skins[i].Num), Name = champion.Skins[i].Name
                });
                if (skins[i].Name == "default")
                {
                    skins[i].Name = "Default";
                }
            }

            var images = new List <Image>();

            for (int i = 0; i < skins.Count; i++)
            {
                images.Add(new Image {
                    Source = skins[i].ImageUrl
                });
            }

            SliderView slider = new SliderView(images[0], 200, 400)
            {
                BackgroundColor      = Color.Gray,
                TransitionLength     = 200,
                StyleId              = "SliderView",
                MinimumSwipeDistance = 50
            };

            for (int i = 1; i < images.Count; i++)
            {
                slider.Children.Add(images[i]);
            }

            var filterViewChange = new ContentView
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
            };

            filterViewChange.Content       = LoadLore(champion);
            memeTest.SelectedIndexChanged += (sender, e) =>
            {
                switch (memeTest.SelectedIndex)
                {
                case 0:
                    filterViewChange.Content = LoadLore(champion);
                    break;

                case 1:
                    filterViewChange.Content = LoadTips(champion);
                    break;

                case 2:
                    filterViewChange.Content = LoadAbilities(champion);
                    break;
                }
            };

            var stackLayout = new StackLayout();

            filterViewChange.HeightRequest = 440;

            stackLayout.Children.Add(slider);
            stackLayout.Children.Add(memeTest);
            stackLayout.Children.Add(filterViewChange);

            Content = stackLayout;
        }
コード例 #6
0
        public ProfilePage(Summoner summoner, Region region)
        {
            InitializeComponent();
            search.IsVisible         = false;
            nameText.BackgroundColor = Color.FromRgba(0, 0, 0, 0.6);
            Title = "Profile";

            storeService = DependencyService.Get <ICredentialsService>();
            var logoutButton = new ToolbarItem {
                Text = "Logout", Priority = 1
            };
            var searchButton = new ToolbarItem {
                Text = "Search", Icon = "Search.png", Priority = 0
            };

            ToolbarItems.Add(logoutButton);
            ToolbarItems.Add(searchButton);

            logoutButton.Clicked += async(sender, e) =>
            {
                var logout = await UserDialogs.Instance.ConfirmAsync("", "Are you sure you want to Logout?", "Yes", "No");

                if (logout)
                {
                    if (storeService.DoCredentialsExist())
                    {
                        storeService.DeleteCredentials();
                        Application.Current.MainPage = new NavigationPage(new loginXaml());
                        await Navigation.PopToRootAsync();
                    }
                }
            };

            search.ScopeChanged += (sender, e) =>
            {
                searchRegion = App.regFromString(search.SelectedScopeText);
            };

            searchButton.Clicked += (sender, e) =>
            {
                if (search.IsFocused)
                {
                    search.Unfocus();
                    searchFilterControl.Unfocus();
                }
                else
                {
                    search.IsVisible = true;
                    search.Focus();
                }
            };

            search.SearchButtonPressed += async(sender, e) =>
            {
                string searchText = System.Net.WebUtility.HtmlEncode(search.Text);                 //search.Text.Replace(" ", "");
                search.Text = "";
                search.Unfocus();
                try
                {
                    UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);
                    var searchedSummoner = await App.api.GetSummonerAsync(searchRegion, searchText);

                    icon = string.Format(icon, searchedSummoner.Region, searchedSummoner.Id);
                    var test = new SearchedSummonerPage(searchedSummoner, searchedSummoner.Region);
                    UserDialogs.Instance.HideLoading();
                    await Navigation.PushAsync(test);
                }
                catch
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync("Try again", "Summoner not found!", "Okay");
                }
            };

            var task = Task.Run(async() =>
            {
                if (freqPlayedChamp.Source == null)
                {
                    GameList       = await api.GetRecentGamesAsync(region, summoner.Id);
                    var freqPlayed = GameList.GroupBy(q => q.ChampionId)
                                     .OrderByDescending(gp => gp.Count())
                                     .Select(g => g.Key)
                                     .First();
                    var championPlayedMost = await staticApi.GetChampionAsync(Reg, (int)freqPlayed, new List <ChampionData> {
                        ChampionData.skins
                    });
                    freqPlayedChamp.Source = new UriImageSource
                    {
                        Uri            = new Uri(string.Format(skinString, championPlayedMost.Key, championPlayedMost.Skins[0].Num)),
                        CachingEnabled = false
                    };
                    updated = true;
                }
            });

            task.Wait();


            search.Unfocused += (sender, e) =>
            {
                search.IsVisible = false;
            };

            Reg           = region;
            Summoner      = summoner;
            filterControl = new FilterControl {
                Items = new List <string> {
                    "Match History", "Ranked", "Current Game", "Champions"
                }
            };
            filterControl.SelectedIndex = 0;
            contentViewFilter.Content   = filterControl;
            //contentVue.VerticalOptions = LayoutOptions.FillAndExpand;

            nameText.Text = "\n\t\t  " + summoner.Name;

            summonerIcon.Source = new UriImageSource
            {
                Uri            = new Uri(string.Format(icon, region, summoner.Id)),
                CachingEnabled = true
            };

            switch (App.device.HardwareVersion)
            {
            case "iPhone SE":
            case "iPhone 5S":
            case "iPhone 5S GSM":
            case "iPhone 5S CDMA":
            case "iPhone 5":
            case "iPhone 5 GSM":
            case "iPhone 5 CDMA":
                contentVue.HeightRequest = 230;
                break;

            case "iPhone 6":
            case "iPhone 6S":
            case "iPhone 7":
                contentVue.HeightRequest = 330;
                break;

            case "iPhone 6+":
            case "iPhone 6s+":
            case "iPhone 6 Plus":
            case "iPhone 6S Plus":
            case "iPhone 7 Plus":
            case "iPhone 7+":
                contentVue.HeightRequest = 410;
                break;
            }
            try
            {
                allLeagues = api.GetLeagues(region, new List <int> {
                    (int)summoner.Id
                });
                ranked5v5League     = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedSolo5x5);
                filterControl.Items = new List <string> {
                    "Match History", "Ranked", "Current Game"
                };
            }
            catch
            {
                filterControl.Items = new List <string> {
                    "Match History", "Current Game"
                };
            }

            filterControl.SelectedIndexChanged += async(object sender, EventArgs e) =>
            {
                UserDialogs.Instance.ShowLoading("Loading", MaskType.Black);
                try
                {
                    allLeagues = await api.GetLeaguesAsync(region, new List <int> {
                        (int)summoner.Id
                    });

                    ranked5v5League = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedSolo5x5);

                    switch (filterControl.SelectedIndex)
                    {
                    case 0:
                        var MatchList = await loadMatchHistory(summoner, region, this);

                        contentVue.Content = MatchList;
                        UserDialogs.Instance.HideLoading();
                        break;

                    case 1:
                        var statsPage = await loadRanked(summoner, summoner.Region, this);

                        contentVue.Content = statsPage;
                        UserDialogs.Instance.HideLoading();
                        break;

                    case 2:
                        currentGameView = await loadCurrentGameView(summoner, summoner.Region, this);

                        contentVue.Content = currentGameView;
                        UserDialogs.Instance.HideLoading();
                        break;
                    }
                }
                catch
                {
                    switch (filterControl.SelectedIndex)
                    {
                    case 0:
                        var MatchList = await loadMatchHistory(summoner, region, this);

                        contentVue.Content = MatchList;
                        UserDialogs.Instance.HideLoading();
                        break;

                    case 1:
                        currentGameView = await loadCurrentGameView(summoner, summoner.Region, this);

                        contentVue.Content = currentGameView;
                        UserDialogs.Instance.HideLoading();
                        break;
                    }
                }
            };


            var soloRankString = "";
            var soloIcon       = "";
            var flexRankString = "";
            var flexIcon       = "";

            try
            {
                div = ranked5v5League.Entries.Where(x => x.PlayerOrTeamId == summoner.Id.ToString()).Select(x => x.Division).Single();
                var soloLP = ranked5v5League.Entries.FirstOrDefault(x => x.PlayerOrTeamName == summoner.Name).LeaguePoints;
                soloRankString = ranked5v5League.Tier + " " + div + " " + soloLP + "LP\nSolo Queue";

                switch (ranked5v5League.Tier)
                {
                case RiotSharp.LeagueEndpoint.Enums.Tier.Bronze:
                    soloIcon = "Bronze.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Silver:
                    soloIcon = "Silver.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Gold:
                    soloIcon = "Gold.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Platinum:
                    soloIcon = "Platinum.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Diamond:
                    soloIcon = "Diamond.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Master:
                    soloIcon = "Master.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Challenger:
                    soloIcon = "Challenger.png";
                    break;
                }
            }
            catch
            {
                soloRankString = "Unranked";
                soloIcon       = "Unranked.png";
            }
            try
            {
                rankedFlexLeague = allLeagues[summoner.Id].Single(x => x.Queue == Queue.RankedFlexSR);
                flexDiv          = rankedFlexLeague.Entries.Where(x => x.PlayerOrTeamId == summoner.Id.ToString()).Select(x => x.Division).Single();
                var flexLP = rankedFlexLeague.Entries.FirstOrDefault(x => x.PlayerOrTeamName == summoner.Name).LeaguePoints;
                flexRankString = rankedFlexLeague.Tier + " " + flexDiv + " " + flexLP + "LP\nFlex 5v5";

                switch (rankedFlexLeague.Tier)
                {
                case RiotSharp.LeagueEndpoint.Enums.Tier.Bronze:
                    flexIcon = "Bronze.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Silver:
                    flexIcon = "Silver.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Gold:
                    flexIcon = "Gold.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Platinum:
                    flexIcon = "Platinum.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Diamond:
                    flexIcon = "Diamond.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Master:
                    flexIcon = "Master.png";
                    break;

                case RiotSharp.LeagueEndpoint.Enums.Tier.Challenger:
                    flexIcon = "Challenger.png";
                    break;
                }
            }
            catch
            {
                flexRankString = "Unranked";
                flexIcon       = "Unranked.png";
            }

            var grid = new Grid
            {
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = new GridLength(50, GridUnitType.Absolute)
                    }
                },
                ColumnDefinitions =
                {
                    new ColumnDefinition {
                        Width = new GridLength(50, GridUnitType.Absolute)
                    },
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    },
                    new ColumnDefinition {
                        Width = new GridLength(50, GridUnitType.Absolute)
                    },
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    },
                }
            };

            grid.Children.Add(new Image {
                Source = soloIcon
            }, 0, 0);
            grid.Children.Add(new Label {
                TextColor = Color.White, Text = soloRankString
            }, 1, 0);

            grid.Children.Add(new Image {
                Source = flexIcon
            }, 2, 0);
            grid.Children.Add(new Label {
                TextColor = Color.White, Text = flexRankString
            }, 3, 0);

            grid.BackgroundColor      = Color.FromRgba(0, 0, 0, 0.6);
            rankedImagesStuff.Content = grid;
        }