示例#1
0
        public async Task ShowGraphCandleIntent(IDialogContext context, IAwaitable <IMessageActivity> activity, LuisResult result)
        {
            var query = result.Entities.FirstOrDefault()?.Entity as string;

            if (query == null)
            {
                var errorResult = "Try something else, please.";
                await context.PostAsync(errorResult);

                context.Wait(this.MessageReceived);
                return;
            }
            var symbol = IntrinioApiService.GetTickerByName(query);
            var quotes = IntrinioApiService.SymbolDailyRequest(symbol.ticker);

            var graphPath = Graphics.GraphCreator.CreateChartCandleStick(quotes.data, 10);

            var replyMessage = context.MakeMessage();

            replyMessage.Text = $"You rang master? Here you have the last 10 day candlestick graph for symbol {symbol.ticker}";
            replyMessage.Attachments.Add(new Attachment
            {
                ContentUrl  = graphPath,
                ContentType = "image/png",
                Name        = "BinckBank Logo"
            });

            await context.PostAsync(replyMessage);

            context.Wait(this.MessageReceived);
        }
示例#2
0
        public async Task CompanyInfoShortIntent(IDialogContext context, IAwaitable <IMessageActivity> activity, LuisResult result)
        {
            var query = result.Entities.FirstOrDefault()?.Entity as string;

            if (query == null)
            {
                var errorResult = "Try something else, please.";
                await context.PostAsync(errorResult);

                context.Wait(this.MessageReceived);
                return;
            }
            var symbol = IntrinioApiService.GetTickerByName(query);
            var info   = IntrinioApiService.GetCompanyInfoByTicker(symbol.ticker);

            // Yesssssss master. The company is displayed as you requested.
            var replyMessage = context.MakeMessage();

            replyMessage.Text = $"Yesssssss master. The company is displayed as you requested." +
                                $"<br/>The company {info.name} is described as:<br/>{info.short_description}" +
                                $"<br/>More can be found at {info.company_url}";

            await context.PostAsync(replyMessage);

            context.Wait(this.MessageReceived);
        }
示例#3
0
        public async Task StockLastPriceIntent(IDialogContext context, IAwaitable <IMessageActivity> activity, LuisResult result)
        {
            var query = result.Entities.FirstOrDefault()?.Entity as string;

            if (query == null)
            {
                var errorResult = "I could not find anything. Did you make a typo?";
                await context.PostAsync(errorResult);

                context.Wait(this.MessageReceived);
                return;
            }
            var symbol = IntrinioApiService.GetTickerByName(query);
            var rtn    = IntrinioApiService.GetCloseQuoteForSymbol(symbol.ticker);

            var replyMessage = context.MakeMessage();

            replyMessage.Text = $"I found some information. The last closing stock price is {rtn.adj_high} for symbol {symbol.ticker} on date {rtn.date.ToShortDateString()}";

            await context.PostAsync(replyMessage);

            context.Wait(this.MessageReceived);
        }