public void AddCurrencyRates(string currency, DataClass.BankEnumerator bank, decimal sellRate, decimal?buyRate, int amount, DateTime date)
        {
            if (!Currencies.Any(x => x.Name == currency))
            {
                Currencies.Add(new DataClass.Currency()
                {
                    Name = currency
                });
            }
            var cur = Currencies.First(x => x.Name == currency);

            cur.AddRate(bank, sellRate, buyRate, amount, date);
        }
示例#2
0
        public static void HTMLParser(DataClass.BankEnumerator bank, string fileName)
        {
            var file = File.ReadAllText(Comunicators.CurrencyDownloader.GetFileFolder + fileName, Encoding.UTF8).Trim().Split(new string[] { @"<table border=""0"" width=""660"" cellpadding=""1"" cellspacing=""1"" class=""pd pdw"">" }, StringSplitOptions.None).ToList();
            var date = DateTime.Parse(file[0].Split(new string[] { @"<tr><td align=""center""> <a style=""color:#000;font-weight:700"" href=""/kurzy-men/kurzovni-listek/nr/" + (bank == DataClass.BankEnumerator.RB ? "raiffeisenbank" : "ceska-sporitelna") + "/D-" }, StringSplitOptions.None)[1].Split(new string[] { @"/"">" }, StringSplitOptions.None)[0]);

            file = file[1].Split(new string[] { "</table>" }, StringSplitOptions.None)[0].Split(new string[] { "</tr>" }, StringSplitOptions.RemoveEmptyEntries).ToList();
            file.RemoveRange(0, 2);
            foreach (var line in file)
            {
                if (line.Trim() == String.Empty)
                {
                    continue;
                }
                var rest = line.Split(new string[] { @"<span style=""width:34px; margin-left:5px"">" }, StringSplitOptions.None)[1];
                var splt = rest.Split(new string[] { @"</span>" }, StringSplitOptions.None);
                var cur  = splt[0];
                splt = splt[2].Split(new string[] { @"<td align=""right"">" }, StringSplitOptions.RemoveEmptyEntries);
                var amount   = Int32.Parse(splt[1].Trim().Replace("&nbsp;</td>\r\n\t<td>�</td>", ""));
                var buyRate  = Decimal.Parse(splt[2].Trim().Replace("�", "").Replace("</td>", "").Replace(".", ","));
                var sellRate = Decimal.Parse(splt[3].Trim().Replace("�", "").Replace("</td>", "").Replace(".", ","));
                CurrencySingleton.Instance.AddCurrencyRates(cur, bank, sellRate, buyRate, amount, date);
            }
            File.Delete(Comunicators.CurrencyDownloader.GetFileFolder + fileName);
        }