コード例 #1
0
        public override async Task Prepare()
        {
            await base.Prepare();

            IsLoading = true;

            RemainingCapacity = await tileManager.GetRemainingTileCapacityAsync();

            OnPropertyChanged("RemainingCapacity");

            var newTiles = (await tileManager.GetTilesAsync()).ToArray();
            var toAdd    = newTiles.Where(n => Tiles.All(o => o.Tile.Id != n.Id)).ToArray();
            var toRemove = Tiles.Where(o => newTiles.All(n => n.Id != o.Tile.Id)).ToArray();

            foreach (var tile in toAdd)
            {
                Tiles.Add(new TileViewModel(tile, tileManager));
            }
            foreach (var tile in toRemove)
            {
                Tiles.Remove(tile);
            }

            IsLoading = false;
        }
コード例 #2
0
        private async Task LoadTiles()
        {
            var tiles = await _tileManager.GetTilesAsync();

            Tiles = new ObservableCollection <BandTile>(tiles);
        }