public static ChineseDateController GetHour(int hour, int dayStemId, ISolarCalendar calendar) { var dateTime = new ChineseHourController(); dateTime.Initialize(hour, dayStemId, calendar); return(dateTime); }
public static ChineseDateController GetDay(DateTime targetDate, ISolarCalendar calendar) { var dateTime = new ChineseDayController(); dateTime.Initialize(targetDate, calendar); return(dateTime); }
internal void Initialize(DateTime targetDate, float seasonAngle, ISolarCalendar calendar) { base.Initialize(calendar); SexagenaryRow = _sexagenary[ChineseYearNum(targetDate, seasonAngle)]; BranchId = SexagenaryRow.BranchId; StemId = SexagenaryRow.StemId; base.Create(); }
internal void Initialize(int hour, int dayStemId, ISolarCalendar calendar) { base.Initialize(calendar); BranchId = _branches.SingleOrDefault(x => x.StartHour == hour || x.EndHour == hour).Id; StemId = GetStemId(hour, BranchId, dayStemId); SexagenaryRow = _sexagenary.SingleOrDefault(x => x.BranchId == BranchId && x.StemId == StemId); base.Create(); }
internal void Initialize(DateTime targetDate, ISolarCalendar calendar) { base.Initialize(calendar); SexagenaryRow = _sexagenary[GetDayNumber(targetDate)]; BranchId = SexagenaryRow.BranchId; StemId = SexagenaryRow.StemId; base.Create(); }
internal void Initialize(int yearStemId, float seasonAngle, ISolarCalendar calendar) { base.Initialize(calendar); BranchId = GetBranchId((int)seasonAngle); StemId = GetStemId((BranchesEnumerator)BranchId, yearStemId); SexagenaryRow = _sexagenary.FirstOrDefault(x => x.BranchId == BranchId && x.StemId == StemId); base.Create(); }
internal virtual void Initialize(ISolarCalendar calendar) { _branches = calendar.GetBranches(); _stems = calendar.GetStems(); _sexagenary = calendar.GetSexagenary(); }
public ChineseCalendarService(ISolarCalendar solarCalendar, DateTime targetDate) { _solarCalendar = solarCalendar; _targetDate = targetDate; _currentSeasonAngle = Celestial.GetEclipticLongitude(targetDate); }
public static ChineseDateController GetYear(DateTime targetDate, float seasonAngle, ISolarCalendar calendar) { var dateTime = new ChineseYearController(); dateTime.Initialize(targetDate, seasonAngle, calendar); return(dateTime); }
public static ChineseDateController GetMonth(int yearStemId, float seasonAngle, ISolarCalendar calendar) { var dateTime = new ChineseMonthController(); dateTime.Initialize(yearStemId, seasonAngle, calendar); return(dateTime); }