/// <summary>
        ///     Gets current data containing exchange rates for fiat currencies from the ECB (European Central Bank)
        /// </summary>
        private void GetData()
        {
            try
            {
                var client = new WebClient();
                var data   = client.OpenRead("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
                var reader = new StreamReader(data);

                //Read the header and ignore it
                for (var i = 0; i < 7; i++)
                {
                    reader.ReadLine();
                }


                //Read the date and ignore it
                var date = reader.ReadLine().Trim().Split('\'')[1];

                //Read and write the actual currency data
                var lines = new List <string>();
                for (var i = 0; i < 32; i++)
                {
                    lines.Add(reader.ReadLine().Trim());
                }


                //Start the loop
                entry = new EuropeanCentralBankEntry();
                entry.SetDate(date);
                foreach (var x in lines)
                {
                    var split = x.Split('\'');
                    var name  = split[1];
                    var rate  = Convert.ToDouble(split[3]);

                    entry.AddValuation(name, rate);
                }

                reader.Close();
                Logger.WriteLine("Updated Fiat Rates from European Central Bank");
            }
            catch (Exception e)
            {
                Logger.WriteLine(e.Message);
            }
        }
 /// <summary>
 ///     Constructor for the EuropeanCentralBankManager
 /// </summary>
 public EuropeanCentralBankManager()
 {
     entry = new EuropeanCentralBankEntry();
 }
예제 #3
0
 //ECB
 public static async void CreateECBEntry(EuropeanCentralBankEntry entry)
 {
     var context = new DynamoDBContext(_client);
     await context.SaveAsync(entry);
 }