Beispiel #1
0
 public override void Execute(ITelegramBotClient client, Message message)
 {
     try
     {
         var rates        = NBU.GetRatesAsync().Result;
         var parts        = message.Text.Split(' ');
         var fromName     = parts[1];
         var fromCurrency = rates.FirstOrDefault(d => d.Text.ToLower().Contains(fromName));
         var toName       = parts[2];
         var toCurrency   = rates.FirstOrDefault(d => d.Text.ToLower().Contains(toName));
         var sum          = Convert.ToDouble(parts[3]);
         if (fromCurrency == null || toCurrency == null)
         {
             client.SendTextMessageAsync(message.Chat, "Одна з вказаної вами валют не знайдено!");
             return;
         }
         var firstSum  = sum * fromCurrency.Rate;
         var secondSum = Math.Round(firstSum / toCurrency.Rate, 2);
         client.SendTextMessageAsync(message.Chat, $"Якщо первести {sum} з {fromCurrency.Text} в {toCurrency.Text}, то буде {secondSum} " +
                                     $"{toCurrency.Text}");
     }
     catch (Exception ex)
     {
         client.SendTextMessageAsync(message.Chat, $"{ex.Message}");
     }
 }
Beispiel #2
0
        public override void Execute(ITelegramBotClient client, Message message)
        {
            var           rates = NBU.GetRatesAsync().GetAwaiter().GetResult();
            StringBuilder stb   = new StringBuilder();

            foreach (var item in rates.OrderBy(d => d.Text))
            {
                stb.AppendLine($"{item.Text} - {item.Rate}");
            }
            client.SendTextMessageAsync(message.Chat, stb.ToString());
        }
Beispiel #3
0
        public override void Execute(ITelegramBotClient client, Message message)
        {
            try
            {
                var rates = NBU.GetRatesAsync().Result;
                var parts = message.Text.Split(' ');
                if (parts.Length <= 1)
                {
                    client.SendTextMessageAsync(message.Chat, "Будь ласка впишіть валюту коректно!");
                    return;
                }
                var currency = rates.FirstOrDefault(d => d.Text.ToLower().Contains(parts[1]));

                client.SendTextMessageAsync(message.Chat, $"Ваш запит на {currency.Text} = {currency.Rate * Convert.ToInt64(parts[2])} гривень");
            }
            catch (Exception ex)
            {
                client.SendTextMessageAsync(message.Chat, $"{ex.Message}");
            }
        }