コード例 #1
0
        private async Task GetQuote_PrintQuoteValueAsync(IDialogContext context, string quote)
        {
            QuoteResult quoteResult = FakeQuote.GetPrice(quote);
            await context.PostAsync($"O preço do ativo {quoteResult.Name} é {quoteResult.Value:C2}.");

            context.Wait(MessageReceivedAsync);
        }
コード例 #2
0
        private async Task GetQuote_AfterUserInputAsync(IDialogContext context, IAwaitable <string> result)
        {
            string quote = await result;

            QuoteResult quoteResult = FakeQuote.GetPrice(quote);

            await context.PostAsync($"O preço do ativo {quoteResult.Name} é {quoteResult.Value:C2}.");

            context.Wait(MessageReceivedAsync);
        }
コード例 #3
0
        public void Quote_InsufficientFunds()
        {
            var mockIMarketDataRepository = new Mock <IMarketDataRepository>();
            var mockIMarketCalculator     = new Mock <IMarketCalculator>();

            IQuoteCalculator quoteCalculator = new QuoteCalculator(mockIMarketDataRepository.Object, mockIMarketCalculator.Object);

            QuoteResult result = quoteCalculator.GetQuote(15000);

            Assert.AreEqual(QuoteResultCode.Fail, result.QuoteResultCode);
            Assert.AreEqual("Insuffiecnet funds avaialble for the requested amount", result.Message);
        }
コード例 #4
0
        public void Quote_InrementOf100()
        {
            var mockIMarketDataRepository = new Mock <IMarketDataRepository>();
            var mockIMarketCalculator     = new Mock <IMarketCalculator>();

            IQuoteCalculator quoteCalculator = new QuoteCalculator(mockIMarketDataRepository.Object, mockIMarketCalculator.Object);

            QuoteResult result = quoteCalculator.GetQuote(1036);

            Assert.AreEqual(QuoteResultCode.Fail, result.QuoteResultCode);
            Assert.AreEqual("Loan amount must be an increment of 100", result.Message);
        }
コード例 #5
0
        public void Quote_GreaterThen15000()
        {
            var mockIMarketDataRepository = new Mock <IMarketDataRepository>();
            var mockIMarketCalculator     = new Mock <IMarketCalculator>();

            IQuoteCalculator quoteCalculator = new QuoteCalculator(mockIMarketDataRepository.Object, mockIMarketCalculator.Object);

            QuoteResult result = quoteCalculator.GetQuote(15100);

            Assert.AreEqual(QuoteResultCode.Fail, result.QuoteResultCode);
            Assert.AreEqual("Loan amount cannot be more than 15000", result.Message);
        }
コード例 #6
0
        public async Task <ActionResult> GetQuote([FromBody] QuoteRequest quoteRequest)
        {
            try
            {
                PrinterManager printManager = new PrinterManager(_clientFactory, "JONDO");
                QuoteResult    quoteReslt   = await printManager.GetQuote(quoteRequest);

                return(ReturnOkOrErrorStatus(quoteReslt));
            }
            catch (Exception ex)
            {
                // TO DO : need to add params
                Log.Error(ex, " Product, GetQuote, parameters: ");

                return(StatusCode(StatusCodes.Status404NotFound, PikchaMessages.MESS_Status404_ProductNotFound));
            }
        }
コード例 #7
0
        public void Quote_Successfull()
        {
            var mockIMarketDataRepository = new Mock <IMarketDataRepository>();
            var marketCalculator          = new MarketCalculator();

            mockIMarketDataRepository.Setup(x => x.GetMarketData()).Returns(TestData.MarketData);

            IQuoteCalculator quoteCalculator = new QuoteCalculator(mockIMarketDataRepository.Object, marketCalculator);

            QuoteResult result = quoteCalculator.GetQuote(1000);

            Assert.AreEqual(QuoteResultCode.Success, result.QuoteResultCode);
            Assert.AreEqual(30.78, Math.Round(result.Quote.MonthlyRepayment, 2));
            Assert.AreEqual(7, Math.Round(result.Quote.Rate * 100, 1));
            Assert.AreEqual(1000, result.Quote.RequestedAmount);
            Assert.AreEqual(1108.1, Math.Round(result.Quote.TotalRepayment, 2));
        }
コード例 #8
0
        private static void GetQuoteInformation(LuisResult luisResult)
        {
            Entity quoteEntity = luisResult.GetAllEntities().FirstOrDefault(e => e.Name == "Ativo");

            string entityValue = string.Empty;

            if (quoteEntity != null)
            {
                entityValue = quoteEntity.Value;
            }
            else
            {
                Console.WriteLine("Qual o ativo ou empresa você deseja consultar?");
                entityValue = Console.ReadLine();
            }

            QuoteResult quoteResult = FakeQuote.GetPrice(entityValue);

            Console.WriteLine($"O preço do ativo {quoteResult.Name} é {quoteResult.Value:C2}.");
        }
コード例 #9
0
        public async Task <IActionResult> Detail(string symbol)
        {
            QuoteResults responses = await _YahooFinanceClient.Detail(symbol);

            if (responses.QuoteResponse.Result.Count != 1)
            {
                BadRequest($"Only one result was expected bu got {responses.QuoteResponse.Result.Count}");
            }

            QuoteResult result = responses.QuoteResponse.Result[0];

            InstrumentDetailResult retVal = new InstrumentDetailResult();

            retVal.Name     = result.LongName;
            retVal.Symbol   = result.Symbol;
            retVal.Type     = MapQuoteType(result.QuoteType);
            retVal.Exchange = result.Exchange;
            retVal.Currency = result.Currency;

            return(Ok(retVal));
        }
コード例 #10
0
        public async Task Inspire()
        {
            if (quoteList.Count == 0)
            {
                using (HttpClient client = new HttpClient())
                {
                    using (var response = await client.GetAsync("https://type.fit/api/quotes"))
                    {
                        string jsonResponse = await response.Content.ReadAsStringAsync();

                        jsonResponse = jsonResponse.Replace("[", "{\"list\":[");
                        jsonResponse = jsonResponse.Replace("]", "]}");
                        try
                        {
                            QuoteResult result = JsonConvert.DeserializeObject <QuoteResult>(jsonResponse);
                            quoteList = result.List;
                            var target = result.List;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex);
                        }
                    }
                }
            }
            int    count = quoteList.Count;
            Random rnd   = new Random();
            int    num   = rnd.Next(count);
            Quote  quote = quoteList[num];

            if (quote.author == null)
            {
                quote.author = "Author Unknown";
            }
            await ReplyAsync("\"" + quote.text + "\"\n-" + quote.author);
        }