/// <summary> /// Gets the Pokemon ID/Name list from the Discord interactivity from the user /// </summary> /// <returns>Returns a <seealso cref="PokemonValidation"/> object containing valid and invalid Pokemon specified.</returns> public async Task <PokemonValidation> GetPokemonResult(uint maxPokemonId) { var pokemonMessage = (await _context.RespondEmbed("Enter either the Pokemon name(s) or Pokedex ID(s) separated by a comma to subscribe to (i.e. Mewtwo,Dragonite):", DiscordColor.Blurple)).FirstOrDefault(); var pokemonSubs = await _context.WaitForUserChoice(); // Validate the provided pokemon list var validation = PokemonValidation.Validate(pokemonSubs, (int)maxPokemonId); if (validation == null || validation.Valid.Count == 0) { await _context.RespondEmbed(Translator.Instance.Translate("NOTIFY_INVALID_POKEMON_IDS_OR_NAMES").FormatText(_context.User.Username, string.Join(", ", validation.Invalid)), DiscordColor.Red); return(new PokemonValidation()); } await pokemonMessage.DeleteAsync(); return(validation); }
public ActionResult PostPokemon(PokemonGO Pokemon) { var resulPost = new Result <List <PokemonGO> >(); var validacao = new PokemonValidation(); var teste = validacao.Validate(Pokemon); if (!teste.IsValid) { resulPost.Error = true; resulPost.Message = teste.Errors.Select(s => s.ErrorMessage).ToArray().FirstOrDefault(); resulPost.Status = HttpStatusCode.BadRequest; return(Ok(resulPost)); } resulPost.Data = pokemonList; return(Ok(resulPost)); }