Esempio n. 1
0
        public static ChineseDateController GetHour(int hour, int dayStemId, ISolarCalendar calendar)
        {
            var dateTime = new ChineseHourController();

            dateTime.Initialize(hour, dayStemId, calendar);
            return(dateTime);
        }
Esempio n. 2
0
        public static ChineseDateController GetDay(DateTime targetDate, ISolarCalendar calendar)
        {
            var dateTime = new ChineseDayController();

            dateTime.Initialize(targetDate, calendar);
            return(dateTime);
        }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
 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();
 }
Esempio n. 5
0
 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();
 }
Esempio n. 7
0
 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);
 }
Esempio n. 9
0
        public static ChineseDateController GetYear(DateTime targetDate, float seasonAngle, ISolarCalendar calendar)
        {
            var dateTime = new ChineseYearController();

            dateTime.Initialize(targetDate, seasonAngle, calendar);
            return(dateTime);
        }
Esempio n. 10
0
        public static ChineseDateController GetMonth(int yearStemId, float seasonAngle, ISolarCalendar calendar)
        {
            var dateTime = new ChineseMonthController();

            dateTime.Initialize(yearStemId, seasonAngle, calendar);
            return(dateTime);
        }