//---These methods happen in reaction to the FavoritesChanged Event. private void AddFavoritePlace(IFavorite place) { GroupedFavoritePlaces.AddSorted(place); MappableFavoritePlaces.Add(place as IMapPoi); RaisePropertyChanged(nameof(IsFavoritesEmpty)); }
private void RemoveFavoritePlace(IFavorite deletedFave) { GroupedFavoritePlaces.Remove(deletedFave); MappableFavoritePlaces.Remove(deletedFave as IMapPoi); RaisePropertyChanged(nameof(IsFavoritesEmpty)); }
public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state) { _favoritesService.FavoritesChanged += FavoritesChanged; //todo: change this from nuking/rebuilding every time to add/remove what's changed GroupedFavoritePlaces.Clear(); MappableFavoritePlaces.Clear(); GroupedFavoriteRoutes.Clear(); MappableFavoriteRoutes.Clear(); var favorites = await _favoritesService.GetFavoritesAsync(); foreach (IPlace place in favorites.OfType <IPlace>()) { AddFavoritePlace((IFavorite)place); } foreach (FavoriteRoute route in favorites.OfType <FavoriteRoute>()) { AddFavoriteRoute(route); } await Task.CompletedTask; }