private async Task GetMatchDetailsAsync(Match selectedMatch) { MatchDetails matchDetails = await GetDataStore().GetMatchDetailsAsync(selectedMatch?.MatchID.ToString()); if (matchDetails != null) { MatchDetails selectedMatchDetails = AllMatchesWithDetails?.FirstOrDefault(x => x.Match?.MatchID == selectedMatch?.MatchID); selectedMatchDetails.DetailsMatchTabIndex = 0; selectedMatchDetails.Match = matchDetails.Match; selectedMatchDetails.PlayersOfMatch = new ObservableCollection <PlayerOfMatch>(matchDetails.PlayersOfMatch); selectedMatchDetails.EventsOfMatch = new ObservableCollection <EventOfMatch>(matchDetails.EventsOfMatch); selectedMatchDetails.IsDataLoaded = true; } }
// ALL MATCHES WITH DETAILS public void SetAllMatchesWithDetails() { var allMatchesWithDetails = new ObservableCollection <MatchDetails>(); foreach (Match match in AllMatches) { MatchDetails matchDetails = AllMatchesWithDetails.FirstOrDefault(x => x.Match?.MatchID == match.MatchID); if (matchDetails != null) { matchDetails.Match = match; } else { matchDetails = new MatchDetails() { Match = match, PlayersOfMatch = new ObservableCollection <PlayerOfMatch>(), EventsOfMatch = new ObservableCollection <EventOfMatch>() }; } allMatchesWithDetails.Add(matchDetails); } AllMatchesWithDetails = new ObservableCollection <MatchDetails>(allMatchesWithDetails); }