示例#1
0
        public async Task Origem(IDialogContext context, LuisResult result)
        {
            var    racas    = result.Entities?.Select(e => e.Entity);
            var    filtro   = string.Join(",", racas.ToArray());
            string raca     = Formata.getRaca(filtro);
            var    endpoint = ConfigurationManager.AppSettings["urlAPI"] + $"Informacoes/origem/?raca={raca}";
            await context.PostAsync("Um momento, estou buscando essa informação");

            using (var client = new HttpClient())
            {
                var response = await client.GetAsync(endpoint);

                if (!response.IsSuccessStatusCode)
                {
                    await context.PostAsync("Desculpe, não consegui buscar sua informação");

                    return;
                }
                else
                {
                    var json = await response.Content.ReadAsStringAsync();

                    var resultado = JsonConvert.DeserializeObject <Models.Informacao>(json);
                    var origem    = $"{resultado.texto}";
                    await context.PostAsync($"{origem}");
                }
            }
            context.Done(true);
        }
示例#2
0
        public async Task Imagens(IDialogContext context, LuisResult result)
        {
            var      racas    = result.Entities?.Select(e => e.Entity);
            var      filtro   = string.Join(",", racas.ToArray());
            string   raca     = Formata.getRaca(filtro);
            Activity resposta = ((Activity)context.Activity).CreateReply();
            var      endpoint = ConfigurationManager.AppSettings["urlAPI"] + $"Informacoes/Imagens/?raca={raca}";
            await context.PostAsync("Um momento, estou buscando essa informação");

            using (var client = new HttpClient())
            {
                var response = await client.GetAsync(endpoint);

                if (!response.IsSuccessStatusCode)
                {
                    await context.PostAsync("Desculpe, não consegui buscar sua informação");

                    return;
                }
                else
                {
                    var json = await response.Content.ReadAsStringAsync();

                    var      resultado  = JsonConvert.DeserializeObject <Models.Informacao>(json);
                    var      imagens    = $"{resultado.texto}";
                    string[] urlImagens = imagens.Split(';');
                    HeroCard card       = new HeroCard
                    {
                        Title    = resultado.raca,
                        Subtitle = resultado.informacao
                    };
                    card.Images = new List <CardImage>
                    {
                        new CardImage(urlImagens[0]),
                        new CardImage(urlImagens[1]),
                        new CardImage(urlImagens[2])
                    };
                    resposta.Attachments.Add(card.ToAttachment());
                    await context.PostAsync(resposta);
                }
            }
            context.Done(true);
        }