private async Task SetSourceAndPrint(IDialogContext context, IAwaitable <IMessageActivity> result)
        {
            var message = await result;

            _sourceCurrency = message.Text;

            var rates = new CurrencyOperations().GetExchangeRate(_sourceCurrency);

            await PrintResults(context, rates);
        }
示例#2
0
        public IActionResult CalculateCurrency([FromBody] CurrencyCalculationModel calculationModel)
        {
            double?result = CurrencyOperations.Calculate(calculationModel);

            if (result == null)
            {
                return(BadRequest());
            }

            return(Ok(result));
        }
        private async Task ResumeAfterAmountDialog(IDialogContext context, IAwaitable <double> result)
        {
            var message = await result;

            _amount = (float)message;

            var convertedAmount = new CurrencyOperations().ConvertCurrency(_sourceCurrency, _targetCurrency, _amount);

            var resultCard = context.MakeMessage();

            resultCard.Attachments.Add(
                new ThumbnailCard()
            {
                Text = $"{_amount} {_sourceCurrency} is worth {convertedAmount} {_targetCurrency}",
            }
                .ToAttachment());

            await context.PostAsync(resultCard);

            context.Done(true);
        }
        public async Task StartAsync(IDialogContext context)
        {
            var currencyOperations = new CurrencyOperations();

            if (_entityProps.MoneyCurrency.Count >= 2)
            {
                var baseCurrency   = _entityProps.MoneyCurrency[0];
                var targetCurrency = _entityProps.MoneyCurrency[1];

                if (_entityProps.MoneyAmount != 0)
                {
                    var amount          = _entityProps.MoneyAmount;
                    var convertedResult = currencyOperations.ConvertCurrency(baseCurrency, targetCurrency, amount);

                    await context.PostAsync(
                        $"{amount} {baseCurrency}'s are equal to {convertedResult} {targetCurrency}'s");

                    context.Done(true);
                }
                else
                {
                    var rate = currencyOperations.GetExchangeRate(baseCurrency, targetCurrency);
                    await PrintResults(context, rate);
                }
            }
            else if (_entityProps.MoneyCurrency.Count == 1)
            {
                var baseCurrency = _entityProps.MoneyCurrency[0];
                var rate         = currencyOperations.GetExchangeRate(baseCurrency);
                await PrintResults(context, rate);
            }
            else
            {
                await context.PostAsync(GetSuggestedActions(context, "Bienvenu! View the rate or convert?"));

                context.Wait(MessageReceivedAsync);
            }
        }
示例#5
0
        public IActionResult GetCurrencies()
        {
            IEnumerable <string> currencies = CurrencyOperations.GetCurrencies();

            return(Ok(currencies));
        }