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