private async void UpdateLeagues() { var LeaguesAPIList = await RapidFutballHelper.GetLeagues(SelectedCountry.country); Leagues.Clear(); foreach (var League in LeaguesAPIList) { Leagues.Add(League); } }
public void Clear() { GameCenter.ClearAll(); UserManager.Clear(); Leagues.Clear(); Players.Clear(); Rooms.Clear(); Users.Clear(); PlayerToRoom.Clear(); RoomToLeague.Clear(); }
private void ReloadLeagues(List <League> leagues) { Leagues.Clear(); foreach (var league in leagues.OrderBy(l => l.Name)) //pero mas mejor si lo mando desde el api { Leagues.Add(new LeagueItemViewModel { LeagueId = league.LeagueId, Logo = league.Logo, Name = league.Name, Teams = league.Teams, }); } }
async public Task GetAvailableLeagues(bool forceRefresh = false) { Debug.WriteLine(IsBusy); //using(new Busy(this)) { Debug.WriteLine(IsBusy); try { var leagueIds = App.Instance.CurrentAthlete.Memberships.Select(m => m.LeagueId).ToList(); var toJoin = await AzureService.Instance.LeagueManager.Table.Where(l => l.IsAcceptingMembers && l.IsEnabled).ToListAsync(); if (leagueIds.Count > 0) { toJoin = toJoin.Where(l => !leagueIds.Contains(l.Id)).ToList(); } Leagues.Clear(); toJoin.ForEach(l => Leagues.Add(new LeagueViewModel { League = l })); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e); } if (Leagues.Count == 0) { Leagues.Add(new LeagueViewModel { EmptyMessage = "There are no available leagues to join." }); } Debug.WriteLine(IsBusy); } }
public bool Refresh() { /** * Note: checking if cache has changed after refresh * * Algorithm: * checking if the sequence had changed (by sequenceEqual). * if it had changed - an update occur. and isChanged = true; * * Author: * Idan Izicovich. * */ /* ---------- Cache Dictionaries ---------- */ // Users bool isUserChanged = false; if (!UserManager.Users.SequenceEqual(Users)) { Users.Clear(); UserManager.Users.ToList().ForEach(userPair => Users.Add(userPair.Key, userPair.Value)); isUserChanged = true; } // Players bool isPlayersChanged = false; if (!GameCenter.Players.SequenceEqual(Players.Values, new AddressComparer <Player>())) { Players.Clear(); GameCenter.Players.ToList().ForEach(player => Players.Add(player.GetHashCode(), player)); isPlayersChanged = true; } // Rooms bool isRoomChanged = false; if (!GameCenter.Rooms.SequenceEqual(Rooms.Values)) { Rooms.Clear(); GameCenter.Rooms.ToList().ForEach(room => Rooms.Add(room.GetHashCode(), room)); isRoomChanged = true; } // Leagues //Undone: idan - make sure this is the right dictionary key needed for mapping the leagues at the cache bool isLeagueChange = false; if (!GameCenter.Leagues.SequenceEqual(Leagues.Values)) { Leagues.Clear(); GameCenter.Leagues.ToList().ForEach(league => Leagues.Add(league.GetHashCode(), league)); isLeagueChange = true; } /* ------- link-cache dictionaries ---------- */ // PlayerToRoom if (isPlayersChanged | isRoomChanged) { PlayerToRoom.Clear(); GameCenter.PlayerToRoom.ToList().ForEach(pair => PlayerToRoom.Add(pair.Key, pair.Value)); } // RoomToLeague if (isRoomChanged | isLeagueChange) { RoomToLeague.Clear(); GameCenter.RoomToLeague.ToList().ForEach(pair => RoomToLeague.Add(pair.Key, pair.Value)); } return(isLeagueChange | isPlayersChanged | isRoomChanged | isUserChanged); }