private void HandlePokedex(SnipePokemonViewModel model) { PokedexSnipeItems.RemoveAll(x => ShouldRemove(x, model)); if (pokedex != null && !pokedex.Any(p => p.PokemonId == model.PokemonId)) { PokedexSnipeItems.Insert(0, model); } Refresh("PokedexSnipeItems", PokedexSnipeItems); }
public void OnInventoryRefreshed(IEnumerable <InventoryItem> inventory) { var all = inventory.Select(x => x.InventoryItemData?.PokemonData).Where(x => x != null).ToList(); pokedex = inventory.Select(x => x.InventoryItemData?.PokedexEntry).Where(x => x != null).ToList(); bestPokemons = all.OrderByDescending(x => PokemonInfo.CalculatePokemonPerfection(x)) .GroupBy(x => x.PokemonId) .Select(x => x.First()) .ToList(); // Remove pokedex items from pokemon snipe list. PokedexSnipeItems.RemoveAll(x => pokedex.Any(p => p.PokemonId == x.PokemonId)); RaisePropertyChanged("PokedexSnipeItems"); }