コード例 #1
0
        public TimeOfDay GetZman(DailyZmanim dz)
        {
            var hm = TimeOfDay.NoValue;

            switch (this.ZmanIndex)
            {
            case 0: hm = (dz.NetzMishor - 90); break;                                 //Alos Hashachar - 90

            case 1: hm = (dz.NetzMishor - 72); break;                                 //Alos Hashachar - 72

            case 2: hm = dz.NetzAtElevation; break;                                   //Sunrise

            case 3: hm = dz.NetzMishor; break;                                        //Sunrise - sea level

            case 4: hm = dz.GetZman(ZmanType.KShmMga); break;                         //Shma - MG\A

            case 5: hm = dz.GetZman(ZmanType.KshmGra); break;                         //Shma - GR\A

            case 6: hm = dz.GetZman(ZmanType.TflMga); break;                          //Tefilla - MG\A

            case 7: hm = dz.GetZman(ZmanType.TflGra); break;                          //Tefilla - GR\A

            case 8: hm = dz.Chatzos; break;                                           //Midday and Midnight

            case 9: hm = dz.GetZman(ZmanType.MinchaG); break;                         //Mincha Gedolah

            case 10: hm = dz.GetZman(ZmanType.MinchaK); break;                        //Mincha Ketana

            case 11: hm = dz.GetZman(ZmanType.MinchaPlg); break;                      //Plag HaMincha

            case 12: hm = dz.ShkiaAtElevation; break;                                 //Sunset

            case 13: hm = dz.ShkiaMishor; break;                                      //Sunset - sea level

            case 14: hm = dz.ShkiaAtElevation + 45; break;                            //Night - 45

            case 15: hm = dz.ShkiaAtElevation + 72; break;                            //Night - Rabbeinu Tam

            case 16: hm = dz.ShkiaAtElevation + (int)(dz.ShaaZmanisMga * 1.2); break; //Night - 72 Zmaniyos
            }
            var isYomTov        = SpecialDay.IsShabbosOrYomTov(dz.JewishDate, dz.Location);
            var hasYomTovOffset = !this.DaysOfWeek.Contains(7);
            var showYomTov      = isYomTov && hasYomTovOffset;

            if (this.Offset != 0 &&
                (this.DaysOfWeek == null ||
                 this.DaysOfWeek.Contains((int)dz.SecularDate.DayOfWeek)) && (!showYomTov))
            {
                hm += this.Offset;
            }
            else if (this.AlternateOffset != 0 &&
                     this.DaysOfWeek != null &&
                     ((!this.DaysOfWeek.Contains((int)dz.SecularDate.DayOfWeek)) ||
                      showYomTov))
            {
                hm += this.AlternateOffset;
            }
            return(hm);
        }
コード例 #2
0
            public TimeOfDay GetZman(DailyZmanim dz)
            {
                var hm = TimeOfDay.NoValue;

                switch (this.ZmanIndex)
                {
                case 0: hm = (dz.NetzMishor - 90); break;                                 //Alos Hashachar - 90

                case 1: hm = (dz.NetzMishor - 72); break;                                 //Alos Hashachar - 72

                case 2: hm = dz.NetzAtElevation; break;                                   //Sunrise

                case 3: hm = dz.NetzMishor; break;                                        //Sunrise - sea level

                case 4: hm = dz.GetZman(ZmanType.KShmMga); break;                         //Shma - MG\A

                case 5: hm = dz.GetZman(ZmanType.KshmGra); break;                         //Shma - GR\A

                case 6: hm = dz.GetZman(ZmanType.TflMga); break;                          //Tefilla - MG\A

                case 7: hm = dz.GetZman(ZmanType.TflGra); break;                          //Tefilla - GR\A

                case 8: hm = dz.Chatzos; break;                                           //Midday and Midnight

                case 9: hm = dz.GetZman(ZmanType.MinchaG); break;                         //Mincha Gedolah

                case 10: hm = dz.GetZman(ZmanType.MinchaK); break;                        //Mincha Ketana

                case 11: hm = dz.GetZman(ZmanType.MinchaPlg); break;                      //Plag HaMincha

                case 12: hm = dz.ShkiaAtElevation; break;                                 //Sunset

                case 13: hm = dz.ShkiaMishor; break;                                      //Sunset - sea level

                case 14: hm = dz.ShkiaAtElevation + 45; break;                            //Night - 45

                case 15: hm = dz.ShkiaAtElevation + 72; break;                            //Night - Rabbeinu Tam

                case 16: hm = dz.ShkiaAtElevation + (int)(dz.ShaaZmanisMga * 1.2); break; //Night - 72 Zmaniyos
                }
                if (this.Offset != 0)
                {
                    hm += this.Offset;
                }
                return(hm);
            }
コード例 #3
0
        private string getHtml()
        {
            StringBuilder html     = new StringBuilder();
            Location      location = new JewishCalendar.Location
            {
                LatitudeDegrees = (int)this.latDeg.Value,
                LatitudeMinutes = (double)(this.latDeg.Value +
                                           (this.latSec.Value / 60M)),
                LongitudeDegrees = (int)this.longDeg.Value,
                LongitudeMinutes = (double)(this.longDeg.Value +
                                            (this.longSec.Value / 60M)),
                Elevation = (int)this.nudElevation.Value,
                TimeZone  = (int)this.nudTimeZone.Value
            };
            var dz = new DailyZmanim(this.jdpFrom.Value.GregorianDate, location);

            html.AppendFormat("<h2>Zmanim at {0} feet</h2>", location.Elevation);
            html.Append("<ul>");
            if (dz.NetzMishor == TimeOfDay.NoValue)
            {
                html.Append("<li><strong>The sun does not rise at this location</strong></li>");
            }
            else
            {
                html.AppendFormat("<li>Alos - 90........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.NetzMishor, -90));
                html.AppendFormat("<li>Alos - 72........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.NetzMishor, -72));
                html.AppendFormat("<li>Mishyakir - 36........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.NetzMishor, -36));
                html.AppendFormat("<li>Netz at sea level........<strong>{0}</strong></li>",
                                  dz.NetzMishor);
            }
            if (dz.NetzAtElevation == TimeOfDay.NoValue)
            {
                html.AppendFormat("<li><strong>The sun does not rise at {0} feet at this location</strong></li>", location.Elevation);
            }
            else
            {
                html.AppendFormat("<li>Netz at elevation........<strong>{0}</strong></li>",
                                  dz.NetzAtElevation);
            }
            if (dz.NetzMishor == TimeOfDay.NoValue)
            {
                html.Append("<li><strong>The sun does not rise at this location</strong></li>");
            }
            else
            {
                html.AppendFormat("<li>Krias Shma MG\"A........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.KShmMga));
                html.AppendFormat("<li>Krias Shma GR\"A........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.KshmGra));
                html.AppendFormat("<li>Tefilla MG\"A........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.TflMga));
                html.AppendFormat("<li>Tefilla GR\"A........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.TflGra));
            }

            html.AppendFormat("<li>Chatzos........<strong>{0}</strong></li>",
                              dz.GetZman(ZmanType.Chatzos));
            html.AppendFormat("<li>Mincha Gedola........<strong>{0}</strong></li>",
                              dz.GetZman(ZmanType.MinchaG));
            html.AppendFormat("<li>MIncha Ketana........<strong>{0}</strong></li>",
                              dz.GetZman(ZmanType.MinchaK));
            html.AppendFormat("<li>Plag........<strong>{0}</strong></li>",
                              dz.GetZman(ZmanType.MinchaPlg));
            if (dz.ShkiaMishor == TimeOfDay.NoValue)
            {
                html.Append("<li>Sunset at sea level........<strong>The sun does not set at this location</strong></li>");
            }
            else
            {
                html.AppendFormat("<li>Sunset at sea level........<strong>{0}</strong></li>",
                                  dz.ShkiaMishor);
            }
            if (dz.ShkiaAtElevation == TimeOfDay.NoValue)
            {
                html.AppendFormat("<li>Sunset at {0} feet........<strong>The sun does not set at {0} feet at this location</strong></li>",
                                  location.Elevation);
            }
            else
            {
                html.AppendFormat("<li>Sunset at elevation........<strong>{0}</strong></li>",
                                  dz.ShkiaAtElevation);
                html.AppendFormat("<li>Night (45 minutes)........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.ShkiaAtElevation, 45));
                html.AppendFormat("<li>Night (72 minutes)........<strong>{0}</strong></li>",
                                  dz.GetZman(ZmanType.ShkiaAtElevation, 72));
            }


            html.Append("</ul>");
            return(Properties.Resources.template.Replace("#--CONTENT--#",
                                                         html.ToString()));
        }