예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="selectedItem"></param>
        public void RemoveSet(ITreeViewItemViewModel selectedItem)
        {
            if (selectedItem == null)
            {
                //imply selection
                selectedItem = this.treeviewCardSets.SelectedValue as ITreeViewItemViewModel;
                if (selectedItem != null)
                {
                    CardSetModelView setModel;
                    if (!selectedItem.IsLeaf)
                    {
                        setModel = selectedItem as CardSetModelView;
                    }
                    else
                    {
                        return;
                    }

                    CardSets.Remove(setModel);
                    NotifyPropertyChanged("CardSets");
                    NotifyPropertyChanged("ObservableCardSets");
                }
            }
            else
            {
                CardSetModelView set = selectedItem as CardSetModelView;
                if (set != null && CardSets.Contains(set))
                {
                    CardSets.Remove(set);
                    NotifyPropertyChanged("CardSets");
                    NotifyPropertyChanged("ObservableCardSets");
                }
            }
        }
 private async Task ReceiveEditSetMessage(CardSetModel editedSet)
 {
     if (!CardSets.Contains(editedSet))
     {
         CardSets.Add(editedSet);
         await Task.Run(() => DataAccess.AddNewCardSet_UWP(editedSet));
     }
     else
     {
         await Task.Run(() => DataAccess.EditCardSet_UWP(editedSet));
     }
 }
        public async Task InitializeAsync(Deck deck = null, string searchText = null)
        {
            IsBusy = true;

            if (_firstLoad)
            {//Wait longer for the ui to load
                _firstLoad = false;
                await Task.Delay(1500);
            }
            else
            {
                await Task.Delay(500);
            }

            var freshCards = await _cardsService.GetAllCardsAsync();

            if (_unfilteredCards != freshCards)
            {
                _unfilteredCards = freshCards;
                RaisePropertyChanged(nameof(EighthFactionEnabled));
                AllCards = _unfilteredCards.ToList();
            }

            _suspendFilters = searchText != null;

            if (deck == null || deck != CurrentDeck)
            {
                await DeckInitialize(deck);
            }

            if (searchText != null)
            {
                IsBusy = true;
                await Task.Delay(500);                //let the ui settle

                _suspendFilters = false;
                if (CardSets.Contains(searchText))
                {
                    CardSetFilter = searchText;
                    MessagingCenter.Send <string>($"Card Set: {searchText}", App.MESSAGES.SHOW_TOAST);
                }
                else
                {
                    SearchText = searchText;
                }
            }

            IsBusy = false;
        }