public async Task<QueryResult> AddPhraseDefinition(string phrase, DefinitionEntry entry)
 {
     if (string.IsNullOrEmpty(entry.Definition))
         return QueryResult.EmptyField(nameof(entry));
     if (string.IsNullOrEmpty(entry.PartOfSpeech))
         return QueryResult.EmptyField(nameof(entry));
     if (string.IsNullOrEmpty(phrase))
         return QueryResult.EmptyField(nameof(phrase));
     return QueryResult.QueryFailed(await Manager.UpdateDefinitionAsync(phrase, entry));
 }
 public async Task<QueryResult> AddCharacterDefinition(string character, DefinitionEntry entry)
 {
     if (string.IsNullOrEmpty(character))
         return QueryResult.EmptyField(nameof(character));
     if (entry == null)
         return QueryResult.EmptyField(nameof(entry));
     if (string.IsNullOrEmpty(entry.Definition) || string.IsNullOrEmpty(entry.PartOfSpeech))
         return QueryResult.InvalidField(nameof(entry));
     return QueryResult.QueryFailed(await _characterManager.UpdateDefinitionAsync(character, entry));
 }
 public async Task<bool> UpdateDefinitionAsync(string idiom, DefinitionEntry definition)
 {
     if (string.IsNullOrEmpty(idiom) || string.IsNullOrEmpty(definition.Definition) || string.IsNullOrEmpty(definition.PartOfSpeech))
         return false;
     var c = await FindIdiomAsync(idiom);
     if (c == null)
         return false;
     c.Definitions.Add(definition);
     await Save();
     return true;
 }