private async Task <DialogTurnResult> CotacaoListagemStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { string mensagem = string.Empty; var servico = new CotacaoMoeda(); try { var cotacoesSolicitadas = await servico.Listagem(); mensagem = cotacoesSolicitadas.Count > 1 ? "Cotações" : "Cotação"; mensagem += ":\n\n"; foreach (var cotacao in cotacoesSolicitadas) { mensagem += $"**{cotacao.name} ({cotacao.code})**: \n" + $"Valor de Compra R$ {cotacao.bid} \n" + $"Valor de Venda R$ {cotacao.ask} \n" + $"Variação R$ {cotacao.varBid} \n" + $"Porcentagem da Variação R$ {cotacao.pctChange} \n" + $"Máximo R$ {cotacao.high} \n" + $"Mínimo R$ {cotacao.low} \n"; } } catch (Exception ex) { mensagem = "Desculpe, não consegui buscar essa informação no momento. Se importa de tentar novamente?"; } return(await stepContext.NextAsync(mensagem, cancellationToken)); }
public async Task MoedaListagem(IDialogContext context, LuisResult result) { var service = new CotacaoMoeda(); var list = await service.Listagem(); await context.PostAsync("Moedas disponíveis para consulta:"); foreach (var item in list) { await context.PostAsync($"{item.nome} ({item.moeda})"); } context.Wait(MessageReceived); }
public async Task MoedaListagem(IDialogContext context, LuisResult result) { var message = string.Empty; var service = new CotacaoMoeda(); try { var list = await service.Listagem(); var cardActions = new List <CardAction>(); cardActions.Add(new CardAction() { Title = $"Todas as cotações", Type = ActionTypes.ImBack, Value = $"Cotações do dia" }); foreach (var item in list) { cardActions.Add(new CardAction() { Title = $"{item.nome} ({item.moeda})", Type = ActionTypes.ImBack, Value = $"Cotação {item.nome}" }); } var card = new HeroCard() { Title = "Moedas disponíveis", Subtitle = "Clique na moeda que deseja consultar", Buttons = cardActions }; var activity = context.MakeMessage(); activity.Id = new Random().Next().ToString(); activity.Attachments.Add(card.ToAttachment()); await context.PostAsync(activity); } catch (Exception ex) { message = "Desculpe, não consegui buscar essa informação no momento. Se importa de tentar novamente?"; await context.PostAsync(message); } context.Wait(MessageReceived); }