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}"); } }
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()); }
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}"); } }