using System;
using System.Collections.Generic;
using System.Net;
using Newtonsoft.Json;
namespace MoneyConverter.Factory
{
public class CurrencyFactory
{
private readonly String BASE_URL = "https://free.currconv.com/api/v7/";
private WebClient webClient = new WebClient();
public CurrencyFactory()
{
}
public List<String> GetCurrency()
{
String url = BASE_URL + "currencies?apiKey={ganti dengan apikey}";
String jsonData = String.Empty;
List<String> currencies = new List<String>();
try
{
jsonData = webClient.DownloadString(url);
Dictionary<string, Dictionary<string, Dictionary<string, string>>> result = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, Dictionary<string, string>>>> (jsonData);
foreach (KeyValuePair<string, Dictionary<string, string>> entry in result["results"])
{
currencies.Add(entry.Key);
// Console.WriteLine(entry.Key);
}
currencies.Sort();
}
catch (Exception e)
{
Console.WriteLine(e);
}
return currencies;
}
public String ConvertCurrency(String from, String to)
{
String query = from + "_" + to;
String url = BASE_URL + "convert?q=" + query + "&compact=ultra&apiKey={ganti dengan apikey}";
String jsonData = String.Empty;
//Console.WriteLine(url);
try
{
jsonData = webClient.DownloadString(url);
Dictionary<string, string> result = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonData);
return result[query];
}
catch (Exception e)
{
Console.WriteLine(e);
return "";
}
}
}
}