Ejemplo n.º 1
0
 public async Task <QueryResult> AddCharacter(Character character)
 {
     if (character == null)
     {
         return(QueryResult.EmptyField(nameof(character)));
     }
     if (!character.Validate())
     {
         return(QueryResult.InvalidField(nameof(character)));
     }
     if (character.Phrases == null)
     {
         character.Phrases = new List <Phrase>();
     }
     if (character.Idioms == null)
     {
         character.Idioms = new List <Idiom>();
     }
     if (!character.Usages.Any())
     {
         return(QueryResult.InvalidField(nameof(character)));
     }
     if (!await _characterManager.AddCharacterAsync(character))
     {
         return(QueryResult.QueryFailed("The character already exists"));
     }
     return(QueryResult.Succeded);
 }