protected async override void OnAppearing() { // await _connection.CreateTableAsync<TH_PENDING_ORDERS>(); // var porders = await _connection.Table<TH_PENDING_ORDERS>().ToListAsync(); //thpendingorders = new ObservableCollection<ItemsList>(); //thpendingorders.Add(new ItemsList() { Name = "Thibault", Score = 1 }); //thpendingorders.Add(new ItemsList() { Name = "Henri", Score = 1 }); //thpendingorders.Add(new ItemsList() { Name = "Niels", Score = 2 }); //thpendingorders.Add(new ItemsList() { Name = "Robin", Score = 3 }); //thpendingorders.Add(new ItemsList() { Name = "Laurens", Score = 4 }); //pendingorders = new ObservableCollection<ItemsList>(); //lvwLeaderboard.ItemsSource = pendingorders; //foreach (var i in thpendingorders) //{ // int z = 0; // string dno = i.Name; // int tno = i.Score; // if (tno > 0) // { // //await Task.Delay(1000); // pendingorders.Add(new ItemsList { Name = dno, Score = tno }); // } //} //base.OnAppearing(); if (ChoiceGamemode.listMode[0] == "Parkour") { List <Parkour> listParkour = await BikeGatesRepository.GetParkour(); List <Parkour> sortedListParkour = listParkour.OrderBy(p => p.timestamp).ToList(); sortedListParkour.Reverse(); // aantal spelers die meespelen int amount = Convert.ToInt32(ChoicePlayer.listAmount[0]); //in de sorted list de eerste 5 pakken List <Parkour> listAmountOfPlayers = sortedListParkour.GetRange(0, amount); List <Parkour> sortedListByPoints = listAmountOfPlayers.OrderBy(l => l.Points).ToList(); sortedListByPoints.Reverse(); pendingordersP = new ObservableCollection <ItemsList>(); int position = 1; for (int i = 0; i < amount; i++) { thpendingordersP = new ObservableCollection <ItemsList>(); thpendingordersP.Add(new ItemsList() { Rank = Convert.ToString(position), Name = sortedListByPoints[i].Name, Score = sortedListByPoints[i].Points }); foreach (var u in thpendingordersP) { string name = u.Name; int score = u.Score; string rank = u.Rank; pendingordersP.Add(new ItemsList { Rank = rank, Name = name, Score = score }); position++; } } lvwLeaderboard.ItemsSource = pendingordersP; base.OnAppearing(); lvwLeaderboard.IsVisible = true; lvwLeaderboardT.IsVisible = false; lblScore.Text = "Points"; } else if (ChoiceGamemode.listMode[0] == "Time Race") { List <TimeRace> listTimeRace = await BikeGatesRepository.GetTimeRace(); List <TimeRace> sortedListTimeRace = listTimeRace.OrderBy(p => p.timestamp).ToList(); sortedListTimeRace.Reverse(); // aantal spelers die meespelen int amount = Convert.ToInt32(ChoicePlayer.listAmount[0]); //in de sorted list de eerste 5 pakken List <TimeRace> listAmountOfPlayers = sortedListTimeRace.GetRange(0, amount); List <TimeRace> sortedListByPoints = listAmountOfPlayers.OrderBy(l => l.TotalTime).ToList(); pendingordersT = new ObservableCollection <ItemsListTimeRace>(); int position = 1; for (int i = 0; i < amount; i++) { thpendingordersT = new ObservableCollection <ItemsListTimeRace>(); thpendingordersT.Add(new ItemsListTimeRace() { Rank = Convert.ToString(position), Name = sortedListByPoints[i].Name, Time = sortedListByPoints[i].TotalTime.ToString() }); foreach (var u in thpendingordersT) { string name = u.Name; string time = u.Time; string rank = u.Rank; TimeSpan convertedTime = TimeSpan.FromSeconds(Convert.ToDouble(time)); string seconds = convertedTime.ToString(@"mm\:ss"); pendingordersT.Add(new ItemsListTimeRace { Rank = position.ToString(), Name = name, Time = seconds }); position++; } } lvwLeaderboardT.ItemsSource = pendingordersT; base.OnAppearing(); lvwLeaderboard.IsVisible = false; lvwLeaderboardT.IsVisible = true; lblScore.Text = "Time"; } }
protected async override void OnAppearing() { //GEDEELTE VOOR LEADERBOARD PARKOUR List <Parkour> listParkour = await BikeGatesRepository.GetParkour(); List <Parkour> sortedlistParkour = listParkour.OrderBy(o => o.Points).ToList(); sortedlistParkour.Reverse(); thpendingordersP = new ObservableCollection <ItemsList>(); thpendingordersP.Add(new ItemsList() { Rank = "1.", Name = sortedlistParkour[0].Name, Score = sortedlistParkour[0].Points }); thpendingordersP.Add(new ItemsList() { Rank = "2.", Name = sortedlistParkour[1].Name, Score = sortedlistParkour[1].Points }); thpendingordersP.Add(new ItemsList() { Rank = "3.", Name = sortedlistParkour[2].Name, Score = sortedlistParkour[2].Points }); thpendingordersP.Add(new ItemsList() { Rank = "4.", Name = sortedlistParkour[3].Name, Score = sortedlistParkour[3].Points }); thpendingordersP.Add(new ItemsList() { Rank = "5.", Name = sortedlistParkour[4].Name, Score = sortedlistParkour[4].Points }); thpendingordersP.Add(new ItemsList() { Rank = "6.", Name = sortedlistParkour[5].Name, Score = sortedlistParkour[5].Points }); thpendingordersP.Add(new ItemsList() { Rank = "7.", Name = sortedlistParkour[6].Name, Score = sortedlistParkour[6].Points }); thpendingordersP.Add(new ItemsList() { Rank = "8.", Name = sortedlistParkour[7].Name, Score = sortedlistParkour[7].Points }); thpendingordersP.Add(new ItemsList() { Rank = "9.", Name = sortedlistParkour[8].Name, Score = sortedlistParkour[8].Points }); thpendingordersP.Add(new ItemsList() { Rank = "10.", Name = sortedlistParkour[9].Name, Score = sortedlistParkour[9].Points }); thpendingordersP.Add(new ItemsList() { Rank = "11.", Name = sortedlistParkour[10].Name, Score = sortedlistParkour[10].Points }); pendingordersP = new ObservableCollection <ItemsList>(); int x = 0; foreach (var i in thpendingordersP) { string name = i.Name; string rank = i.Rank; int points = i.Score; if (x < 10) { pendingordersP.Add(new ItemsList { Rank = rank, Name = name, Score = points }); } x++; } lvwLeaderboard.ItemsSource = pendingordersP; base.OnAppearing(); //GEDEELTE VOOR LEADERBOARD TIMERACE List <TimeRace> listTimeRace = await BikeGatesRepository.GetTimeRace(); List <TimeRace> sortedlistTimeRace = listTimeRace.OrderBy(z => z.TotalTime).ToList(); thpendingordersT = new ObservableCollection <ItemsListTimeRace>(); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "1.", Name = sortedlistTimeRace[0].Name, Time = sortedlistTimeRace[0].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "2.", Name = sortedlistTimeRace[1].Name, Time = sortedlistTimeRace[1].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "3.", Name = sortedlistTimeRace[2].Name, Time = sortedlistTimeRace[2].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "4.", Name = sortedlistTimeRace[3].Name, Time = sortedlistTimeRace[3].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "5.", Name = sortedlistTimeRace[4].Name, Time = sortedlistTimeRace[4].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "6.", Name = sortedlistTimeRace[5].Name, Time = sortedlistTimeRace[5].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "7.", Name = sortedlistTimeRace[6].Name, Time = sortedlistTimeRace[6].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "8.", Name = sortedlistTimeRace[7].Name, Time = sortedlistTimeRace[7].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "9.", Name = sortedlistTimeRace[8].Name, Time = sortedlistTimeRace[8].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "10.", Name = sortedlistTimeRace[9].Name, Time = sortedlistTimeRace[9].TotalTime.ToString() }); thpendingordersT.Add(new ItemsListTimeRace() { Rank = "11.", Name = sortedlistTimeRace[10].Name, Time = sortedlistTimeRace[10].TotalTime.ToString() }); pendingordersT = new ObservableCollection <ItemsListTimeRace>(); int y = 0; foreach (var i in thpendingordersT) { string name = i.Name; string rank = i.Rank; string points = i.Time; TimeSpan time = TimeSpan.FromSeconds(Convert.ToDouble(points)); string seconds = time.ToString(@"mm\:ss"); if (y < 10) { pendingordersT.Add(new ItemsListTimeRace { Rank = rank, Name = name, Time = seconds }); } y++; } lvwLeaderboardTimeRace.ItemsSource = pendingordersT; base.OnAppearing(); }