Beispiel #1
0
        public List <T> GetKalaList(EnumHoraTypes depth, EnumPlanet upperHoraPlanet)
        {
            TimeSpan ts = new TimeSpan(KalaInterval.EndTime.Ticks);

            ts = ts.Subtract(new TimeSpan(KalaInterval.StartTime.Ticks));
            int increment = 0;

            if (ts.Hours == 1)
            {
                increment = 12;
            }
            else if (ts.Minutes == 12)
            {
                increment = 4;
            }

            int length = 0;

            if (increment == 12)
            {
                length = 5;
            }
            else if (increment == 4)
            {
                length = 3;
            }

            List <T> kalaList = new List <T>();
            T        s1       = new T();

            s1.KalaInterval = new TimeInterval(KalaInterval.StartTime
                                               , KalaInterval.StartTime.AddMinutes(increment));
            s1.KalaAdhipathiPlanet  = GetHoraPlanet(KalaInterval.StartTime, depth, upperHoraPlanet);
            s1.KalaInterval.IsVisha = (depth == EnumHoraTypes.PanchamaHora)
                ? IsVishaHora(upperHoraPlanet, s1.KalaAdhipathiPlanet) : false;
            s1.Init(s1.KalaInterval.StartTime, s1.KalaAdhipathiPlanet);

            kalaList.Add(s1);
            DateTime startTime = s1.KalaInterval.EndTime;

            for (int i = 1; i < length; i++)
            {
                T s = new T();
                s.KalaInterval         = new TimeInterval(startTime, startTime.AddMinutes(increment));
                s.KalaAdhipathiPlanet  = GetHoraPlanet(s.KalaInterval.StartTime, depth, upperHoraPlanet);
                s.KalaInterval.IsVisha = (depth == EnumHoraTypes.PanchamaHora)
                    ? IsVishaHora(upperHoraPlanet, s.KalaAdhipathiPlanet) : false;
                s.Init(s.KalaInterval.StartTime, s.KalaAdhipathiPlanet);
                kalaList.Add(s);

                startTime = s.KalaInterval.EndTime;
            }
            return(kalaList);
        }
Beispiel #2
0
 public EnumPlanet GetPlanet(int horaInt, EnumHoraTypes depth)
 {
     if (depth == EnumHoraTypes.Hora)
     {
         return(GetHoraOrSukshamaHoraPlanet(horaInt));
     }
     else if (depth == EnumHoraTypes.PanchamaHora)
     {
         return(GetPanchamaHoraPlanet(horaInt));
     }
     else
     {
         return(GetHoraOrSukshamaHoraPlanet(horaInt));
     }
 }
Beispiel #3
0
        protected EnumPlanet GetHoraPlanet(DateTime dateTime
                                           , EnumHoraTypes depth, EnumPlanet?upperHoraPlanet)
        {
            int       horaInt         = 0;
            int       panchaHoraInt   = 0;
            int       sukshamaHoraInt = 0;
            DayOfWeek day             = dateTime.DayOfWeek;

            switch (depth)
            {
            case EnumHoraTypes.Hora:
            {
                horaInt = dateTime.AddHours(-5).Hour % 7;
                if (horaInt == 0)
                {
                    horaInt = 7;
                }
                horaInt = (day == DayOfWeek.Sunday) ? horaInt
                            : (day == DayOfWeek.Monday) ? horaInt + 3
                            : (day == DayOfWeek.Tuesday) ? horaInt + 6
                            : (day == DayOfWeek.Wednesday) ? horaInt + 2
                            : (day == DayOfWeek.Thursday) ? horaInt + 5
                            : (day == DayOfWeek.Friday) ? horaInt + 1
                            : (day == DayOfWeek.Saturday) ? horaInt + 4 : 0;
                horaInt = horaInt % 7;
                if (horaInt == 0)
                {
                    horaInt = 7;
                }
                return(GetPlanet(horaInt, EnumHoraTypes.Hora));
            }

            case EnumHoraTypes.PanchamaHora:
            {
                panchaHoraInt = 1 + (dateTime.Minute / 12);

                panchaHoraInt = (upperHoraPlanet == EnumPlanet.Sun) ? panchaHoraInt
                                        : (upperHoraPlanet == EnumPlanet.Moon) ? panchaHoraInt + 1
                                        : (upperHoraPlanet == EnumPlanet.Mars) ? panchaHoraInt + 2
                                        : (upperHoraPlanet == EnumPlanet.Mercury) ? panchaHoraInt + 3
                                        : (upperHoraPlanet == EnumPlanet.Jupiter) ? panchaHoraInt + 4
                                        : (upperHoraPlanet == EnumPlanet.Venus) ? panchaHoraInt + 5
                                        : (upperHoraPlanet == EnumPlanet.Saturn) ? panchaHoraInt + 6 : 0;
                panchaHoraInt = panchaHoraInt % 7;
                if (panchaHoraInt == 0)
                {
                    panchaHoraInt = 7;
                }
                return(GetPlanet(panchaHoraInt, EnumHoraTypes.PanchamaHora));
            }

            case EnumHoraTypes.SukshamaHora:
            {
                sukshamaHoraInt = 1 + ((dateTime.Minute % 12) / 4);
                sukshamaHoraInt = (upperHoraPlanet == EnumPlanet.Sun) ? sukshamaHoraInt
                                        : (upperHoraPlanet == EnumPlanet.Moon) ? sukshamaHoraInt + 3
                                        : (upperHoraPlanet == EnumPlanet.Mars) ? sukshamaHoraInt + 6
                                        : (upperHoraPlanet == EnumPlanet.Mercury) ? sukshamaHoraInt + 2
                                        : (upperHoraPlanet == EnumPlanet.Jupiter) ? sukshamaHoraInt + 5
                                        : (upperHoraPlanet == EnumPlanet.Venus) ? sukshamaHoraInt + 1
                                        : (upperHoraPlanet == EnumPlanet.Saturn) ? sukshamaHoraInt + 4 : 0;
                sukshamaHoraInt = sukshamaHoraInt % 7;
                if (sukshamaHoraInt == 0)
                {
                    sukshamaHoraInt = 7;
                }
                return(GetPlanet(sukshamaHoraInt, EnumHoraTypes.SukshamaHora));
            }
            }
            return(EnumPlanet.Sun);
        }