private void InitWindow() { switch (InputMode) { case InputMode.ByCard: { Cards.Clear(); Cards.AddRange(_allCardSorted.Keys); Editions.Clear(); EditionSelected = null; CardSelectedName = null; break; } case InputMode.ByEdition: { Cards.Clear(); IEdition save = EditionSelected; Editions.Clear(); Editions.AddRange(_allEditions); CardSelectedName = null; EditionSelected = save; break; } case InputMode.None: Cards.Clear(); Editions.Clear(); EditionSelected = null; CardSelectedName = null; break; } Languages.Clear(); CurrentCollectionDetail = null; LanguageSelected = null; Count = _defaultQuantity; IsFoil = false; IsAltArt = false; ResetFocus(); }
/// <summary> /// 获取筛选版本列表 /// </summary> /// <returns></returns> public async Task GetAllEditions() { if (Editions.Count > 0) { return; } await WebRequest.Execute(() => editionAppService.GetEditions(), async result => { Editions.Clear(); foreach (var item in Map <List <EditionListModel> >(result.Items)) { Editions.Add(item); } await Task.CompletedTask; }); }
async Task ExecuteLoadEditionsCommand() { try { Editions.Clear(); var editions = await dataStore.GetEditionsAsync(true); Editions.AddRange(editions); } catch (Exception ex) { Debug.WriteLine(ex); analytics.TrackError(ex); } finally { IsBusy = false; } }
async Task ExecuteLoadEditionsCommand() { IsBusy = true; try { Editions.Clear(); var editions = await DataStore.GetEditionsAsync(true); foreach (var item in editions) { Editions.Add(item); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
private void RefreshDisplayedData(InputMode modifyData) { UpdateCurrentCollectionDetailAndTranslate(); //None one the key changed, nothing to recompute if (modifyData == InputMode.None) { return; } //Change one of the key but no the reference one if (InputMode != modifyData) { Languages.Clear(); IEdition editionSelected = EditionSelected; ICard cardNameSelected = _cardSelected; if (editionSelected == null || cardNameSelected == null) { return; } ICardAllDbInfo cardAllDbInfo = _allCardInfos.First(cadi => cadi.Edition == editionSelected && cadi.Card == cardNameSelected); if (cardAllDbInfo == null) { return; } foreach (ILanguage language in _magicDatabase.GetLanguages(cardAllDbInfo.IdGatherer)) { Languages.Add(language); } if (Languages.Count > 0) { if (_inputLanguage != null && Languages.Contains(_inputLanguage)) { LanguageSelected = _inputLanguage; } else { LanguageSelected = Languages[0]; } } } else { //Change the reference switch (InputMode) { case InputMode.ByEdition: IEdition editionSelected = EditionSelected; Cards.Clear(); Languages.Clear(); if (editionSelected == null) { return; } List <string> sorted = new List <string>(); //Could not call directly GetAllCardsOrderByTranslation because the key must be the same as in all card even if there is no duplicate traduction in the subset foreach (KeyValuePair <string, ICard> kv in _allCardInfos.Where(cadi => cadi.Edition == editionSelected).GetAllCardWithTranslation(_inputLanguage)) { //Normal case if (_allCardSorted.ContainsKey(kv.Key)) { sorted.Add(kv.Key); } else { //Key was changed because of duplicate traduction, we need to look for the card sorted.Add(_allCardSorted.First(acsKv => kv.Value == acsKv.Value).Key); } } sorted.Sort(); Cards.AddRange(sorted); break; case InputMode.ByCard: ICard cardNameSelected = _cardSelected; Editions.Clear(); Languages.Clear(); if (cardNameSelected == null) { return; } foreach (IEdition edition in _allCardInfos.GetAllEditionIncludingCardOrdered(cardNameSelected)) { Editions.Add(edition); } if (Editions.Count > 0) { EditionSelected = Editions[0]; } break; } } }