private bool TimeAdjustment(HoraKala currentHoraKala) { currentHoraKala.KalaInterval = new KalaBase.TimeInterval( SunTimes.GetTimeAdjustedForSunTime(currentHoraKala.KalaInterval.StartTime, SunRise, SunSet) , SunTimes.GetTimeAdjustedForSunTime(currentHoraKala.KalaInterval.EndTime, SunRise, SunSet) , currentHoraKala.KalaInterval.IsVisha); if (currentHoraKala.KalaInterval.StartTime <= ThisDateTime && currentHoraKala.KalaInterval.EndTime >= ThisDateTime) { this.ThisHoraAdhipathiPlanet = currentHoraKala.KalaAdhipathiPlanet.ToString(); } else { return(false); } foreach (PanchamaKala pKala in currentHoraKala.PanchamaKalaList) { pKala.KalaInterval = new KalaBase.TimeInterval( SunTimes.GetTimeAdjustedForSunTime(pKala.KalaInterval.StartTime, SunRise, SunSet) , SunTimes.GetTimeAdjustedForSunTime(pKala.KalaInterval.EndTime, SunRise, SunSet) , pKala.KalaInterval.IsVisha); if (pKala.KalaInterval.StartTime <= ThisDateTime && pKala.KalaInterval.EndTime >= ThisDateTime) { this.ThisPachamaHoraAdhipathiPlanet = pKala.KalaAdhipathiPlanet; ThisPachamaHora = pKala.KalaInterval; } foreach (SukshamaKala sKala in pKala.SukshamaKalaList) { sKala.KalaInterval = new KalaBase.TimeInterval( SunTimes.GetTimeAdjustedForSunTime(sKala.KalaInterval.StartTime, SunRise, SunSet) , SunTimes.GetTimeAdjustedForSunTime(sKala.KalaInterval.EndTime, SunRise, SunSet) , sKala.KalaInterval.IsVisha); if (sKala.KalaInterval.StartTime <= ThisDateTime && sKala.KalaInterval.EndTime >= ThisDateTime) { this.ThisSukshamaHoraAdhipathiPlanet = sKala.KalaAdhipathiPlanet; this.ThisSukshamaHora = sKala.KalaInterval; } } } return(true); }
private void Init() { bool timeAdjustmentFailed = false; CurrentHoraKala = new HoraKala(); CurrentHoraKala.Init(ThisDateTime, null); if (!TimeAdjustment(CurrentHoraKala)) { CurrentHoraKala.Init(ThisDateTime.AddHours(1), null); TimeAdjustment(CurrentHoraKala); timeAdjustmentFailed = true; } NextHoraKala = new HoraKala(); NextHoraKala.Init(ThisDateTime.AddHours((timeAdjustmentFailed) ? 2 : 1), null); TimeAdjustment(NextHoraKala); PreviousHoraKala = new HoraKala(); PreviousHoraKala.Init(ThisDateTime.AddHours((timeAdjustmentFailed) ? 0 : -1), null); TimeAdjustment(PreviousHoraKala); }