Ejemplo n.º 1
0
        /// <summary>
        /// Search for a specified character
        /// <see cref="SearchCharacters"/>
        /// </summary>
        public void SearchCharacters()
        {
            try
            {
                if (CharacterNameSearch.Length < 1 && CharacterNamesCollection.Equals(_allCharacterNamesCollection))
                {
                    return;
                }

                if (CharacterNameSearch.Length < 1)
                {
                    CharacterNamesCollection.Clear();
                    CharacterNamesCollection.AddRange(_allCharacterNamesCollection);
                    SelectedCharacterIndex = -1;
                    return;
                }

                List <KeyValuePair <int, string> > validCharacters = _allCharacterNamesCollection.Where(x => x.Value.ToUpperInvariant().Contains(CharacterNameSearch.ToUpperInvariant())).ToList();
                CharacterNamesCollection.Clear();
                CharacterNamesCollection.AddRange(validCharacters);
            }
            catch (Exception e)
            {
                App.Logger.Warning(e, "Failed to search for selected character");
                SentryHelper.SendException(e, null, SentryLevel.Warning);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Fill character list with characters associated with the game
 /// </summary>
 private void PopulateCharacterList()
 {
     try
     {
         CharacterNamesCollection.Clear();
         var cred = CredentialManager.GetCredentials(App.CredDb);
         if (cred == null || cred.UserName.Length < 1)
         {
             return;
         }
         using (var db = new LiteDatabase($"{App.GetDbStringWithoutPass}'{cred.Password}'"))
         {
             var dbCharacterData = db.GetCollection <VnCharacterInfo>(DbVnCharacter.VnCharacter.ToString()).Query()
                                   .Where(x => x.VnId == VndbContentViewModel.VnId).ToArray();
             List <KeyValuePair <int, string> > list = dbCharacterData.Select(x => new KeyValuePair <int, string>((int)x.CharacterId, x.Name))
                                                       .ToList();
             CharacterNamesCollection.AddRange(list);
             _allCharacterNamesCollection = list;
             SelectedCharacterIndex       = 0;
         }
     }
     catch (Exception e)
     {
         App.Logger.Error(e, "Failed to fill Vndb Character List");
         SentryHelper.SendException(e, null, SentryLevel.Warning);
         throw;
     }
 }