Beispiel #1
0
        public void Start()
        {
            entries.Clear();

            HtmlWeb      web = new HtmlWeb();
            HtmlDocument htmlDoc;

            foreach (char c in PAGES)
            {
                var urlToScrape = $"{BASE_URL}/{c}";

                log.Info($"Scraping Page {urlToScrape}");

                htmlDoc = web.Load(urlToScrape);

                var tablerows = htmlDoc.DocumentNode.SelectNodes("//table/tr");

                if (tablerows == null)
                {
                    log.Info($"No table found at {urlToScrape}");

                    continue;
                }

                var tablerowsCount = tablerows.Count;

                log.Info($"{tablerowsCount} table rows found");


                for (int i = 0; i < tablerowsCount; i++)
                {
                    Import_RoutingNumber_DTO imp = new Import_RoutingNumber_DTO();

                    var row = tablerows[i];

                    imp.AchServicesTelephone = row.ChildNodes[WebColumnIndex.AchServicesTelephone].InnerText;
                    imp.Address            = row.ChildNodes[WebColumnIndex.Address].InnerText;
                    imp.BankName           = row.ChildNodes[WebColumnIndex.BankName].InnerText;
                    imp.City               = row.ChildNodes[WebColumnIndex.City].InnerText;
                    imp.DateOfLastRevision = row.ChildNodes[WebColumnIndex.DateOfLastRevision].InnerText;
                    imp.NewRoutingNumbers  = row.ChildNodes[WebColumnIndex.NewRoutingNumbers].InnerText;
                    imp.RoutingNumbers     = row.ChildNodes[WebColumnIndex.RoutingNumbers].InnerText;
                    imp.Zip   = row.ChildNodes[WebColumnIndex.Zip].InnerText;
                    imp.State = row.ChildNodes[WebColumnIndex.State].InnerText;

                    if (imp.RoutingNumbers.IsNumberic())
                    {
                        //log.Info($"Valid Row [{imp.RoutingNumbers}]");

                        entries.Add(imp);
                    }
                    else
                    {
                        //log.Error($"Invalid Row [{imp.RoutingNumbers}]");
                    }
                }
            }
        }
Beispiel #2
0
        public static RoutingNumber RoutingNumber(Import_RoutingNumber_DTO dto)
        {
            RoutingNumber routingNumber = new RoutingNumber();

            routingNumber.AbaNumber = dto.RoutingNumbers.RemoveSpecailCharacters().RemoveWhiteSpaceCharacters().Trim();
            routingNumber.BankName  = dto.BankName.ReplaceHtmlEscapeTags().Trim();
            routingNumber.Address   = dto.Address.ReplaceHtmlEscapeTags().Trim();
            routingNumber.City      = dto.City.ReplaceHtmlEscapeTags().Trim();
            routingNumber.State     = dto.State;
            string dateStr = dto.DateOfLastRevision.Insert(2, "/").Insert(5, "/");

            routingNumber.DateOfLastRevision = Convert.ToDateTime(dateStr);
            routingNumber.Zip       = dto.Zip.Substring(0, 5);
            routingNumber.BankPhone = dto.AchServicesTelephone.RemoveSpecailCharacters().RemoveWhiteSpaceCharacters().Trim();


            return(routingNumber);
        }