private List <string> GetSourceFileLinks(string baseUrl) { holidayList = HolidayManager.SelectHoliday(5); List <string> linkList = new List <string>(); string pageSource = WebClientUtil.GetPageSource(baseUrl, 1800000); HtmlDocument htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(pageSource); var tableList = htmlDoc.DocumentNode.SelectNodes("//table[@class = 'styleShiryo']"); var nodeDailyList = tableList[1].SelectNodes("tr/td"); string dailyExcelLink = "http://www.tse.or.jp" + MiscUtil.GetCleanTextFromHtml(nodeDailyList[2].SelectSingleNode("a").Attributes["href"].Value); linkList.Add(dailyExcelLink); if (DateTime.Today == MiscUtil.GetNextWeeklyTradingDay(DateTime.Today, holidayList, 2) || specialCase.Equals("yes")) { var nodeWeeklyList = tableList[2].SelectNodes("tr/td"); string titleWeekly = MiscUtil.GetCleanTextFromHtml(nodeWeeklyList[0].InnerText); if (IsLastWeekInfo(titleWeekly) || specialCase.Equals("yes")) { string weeklyExcelLink = "http://www.tse.or.jp" + MiscUtil.GetCleanTextFromHtml(nodeWeeklyList[2].SelectSingleNode("a").Attributes["href"].Value); linkList.Add(weeklyExcelLink); } } return(linkList); }
/// <summary> /// Getting list of holidays date from workbook path given in parameters /// </summary> private void GetHolidays() { try { HolidayManager.SelectHoliday(5); } catch (Exception ex) { Logger.Log("Cannot get holidays", Logger.LogType.Error); throw new Exception("Cannot get holidays: " + ex.Message); } }
public JapanOSETradeVolumeUpdatorConfig() { InitialBusinessDay(); List <DateTime> holidays = HolidayManager.SelectHoliday(5); DateTime date = DateTime.Today; date = date.AddDays(businessDay[date.DayOfWeek.ToString()]); while (IsHoliday(holidays, date)) { date.AddDays(-1); } Date = date.ToString("yyyyMMdd"); }
/// <summary> /// Find next trading day as effective date. /// </summary> private void InitialzeEffectiveDate() { List <DateTime> holidayList = HolidayManager.SelectHoliday(MarketId); effectiveDate = MiscUtil.GetNextTradingDay(DateTime.Today, holidayList, 1).ToString("yyyy-MM-dd", new CultureInfo("en-US")); }