private DateTime DateFromReport(string path) { var history = PreviousReport.History(path); if (history.Count < 1) { return(default(DateTime)); // No history makes this a new bill } string str_date = Regex.Replace(history[1].Trim(), @"<br /> (\w{3} \d{1,2} \d{4}).*", "$1"); DateTime.TryParse(str_date, out DateTime date_result); return(date_result); }
private List <string> SelectAllBills() { LogThis("Regenerating reports for all bills."); var result = new List <string>(); List <string> folder_contents = Directory.EnumerateFiles(Config.Instance.HtmlFolder, "*.html").ToList(); foreach (var path in folder_contents) { if (!path.Contains("Weekly")) { result.Add(Path.GetFileNameWithoutExtension(path)); var bill = Path.GetFileNameWithoutExtension(path); var position = PreviousReport.Position(path); } } return(result); }
private List <string> RecognizeChangedBills() { LogThis("Regenerating reports for those bills that have changed."); var result = new List <string>(); List <string> folder_contents = Directory.EnumerateFiles(Config.Instance.HtmlFolder, "*.html").ToList(); foreach (var path in folder_contents) { if (!path.Contains("Weekly")) { DateTime latest_report_date = DateFromReport(path); DateTime latest_history_date = DateFromHistoryTable(path); if (latest_history_date > latest_report_date) { result.Add(Path.GetFileNameWithoutExtension(path)); var bill = Path.GetFileNameWithoutExtension(path); var position = PreviousReport.Position(path); var message = $"{bill} ({position[0].Trim()}) has changed."; LogThis(message); } } } return(result); }