示例#1
0
        private async Task <string> GetStock(string strStock)
        {
            string strRet   = string.Empty;
            double?dblStock = await Yahoo.GetStockPriceAsync(strStock);

            // return our reply to the user
            if (null == dblStock)
            {
                strRet = string.Format("Stock {0} doesn't appear to be valid", strStock.ToUpper());
            }
            else
            {
                strRet = string.Format("Stock: {0}, Value: {1}", strStock.ToUpper(), dblStock);
            }

            return(strRet);
        }
示例#2
0
文件: stock.cs 项目: MarySam/WaitTime
#pragma warning disable 1998
        public static IForm <StockOrder> MakeForm()
        {
            FormBuilder <StockOrder> _Order = new FormBuilder <StockOrder>();

            return(_Order
                   .Message("Welcome to the Stock Bot!")
                   .Field("StockTicker", validate:
                          async(state, value) =>
            {
                ValidateResult vResult = new ValidateResult();
                var str = value as string;

                double?dblStock = await Yahoo.GetStockPriceAsync(str);
                if (null == dblStock)
                {
                    vResult.Feedback = string.Format("{0} is not a valid stock ticker.", str.ToUpper());
                    vResult.IsValid = false;
                }
                else
                {
                    vResult.Feedback = string.Format("{0} is currently at {1}", str.ToUpper(), dblStock);
                    vResult.IsValid = true;
                }

                return vResult;
            })
                   .Field(nameof(StockOrder.BuySell))
                   .Field(nameof(StockOrder.OrderDate))
                   .Field(nameof(StockOrder.NumberOfShares))
                   .AddRemainingFields()
                   .Confirm("Do you want to {BuySell} {NumberOfShares} shares of {StockTicker} on {OrderDate}? ")
                   .OnCompletionAsync(async(session, StockOrder) =>
            {
                Debug.WriteLine("{0}", StockOrder);
            })
                   .Build());
        }