Exemplo n.º 1
0
        public string GetLocalVisibilityString(LunarEclipse eclipse, LunarEclipseLocalCircumstances localCirc)
        {
            if (localCirc.Maximum.LunarAltitude > 0)
            {
                return(Text.Get("LunarEclipse.LocalVisibility.Visible"));                // "visible"
            }
            string localVisibility = Text.Get("LunarEclipse.LocalVisibility.Invisible"); // "invisible"

            if (localCirc.PenumbralBegin.LunarAltitude > 0)
            {
                localVisibility = Text.Get("LunarEclipse.LocalVisibility.VisibleBeginPenumbral"); // "visible begin of penumbral phase"
            }
            if (localCirc.PartialBegin?.LunarAltitude > 0)
            {
                localVisibility = Text.Get("LunarEclipse.LocalVisibility.VisibleBeginPartial"); // "visible begin of partial phase"
            }
            if (localCirc.TotalBegin?.LunarAltitude > 0)
            {
                localVisibility = Text.Get("LunarEclipse.LocalVisibility.VisibleBeginTotal"); // "visible begin of total phase"
            }
            if (localCirc.PenumbralEnd.LunarAltitude > 0)
            {
                localVisibility = Text.Get("LunarEclipse.LocalVisibility.VisibleEndPenumbral"); // "visible end of penumbral phase"
            }
            if (localCirc.PartialEnd?.LunarAltitude > 0)
            {
                localVisibility = Text.Get("LunarEclipse.LocalVisibility.VisibleEndPartial"); // "visible end of partial phase"
            }
            if (localCirc.TotalEnd?.LunarAltitude > 0)
            {
                localVisibility = Text.Get("LunarEclipse.LocalVisibility.VisibleEndTotal"); // "visible end of total phase"
            }
            return(localVisibility);
        }
Exemplo n.º 2
0
        public LunarEclipseCitiesListTableItem(LunarEclipseLocalCircumstances local, string visibility)
        {
            Location = local.Location;

            const string empty = "—";

            LocationName      = local.Location.LocationName;
            Coordinates       = local.Location;
            CoordinatesString = Format.Geo.Format(local.Location);

            double offset = local.Location.UtcOffset;
            string tz     = local.Location.UtcOffset != 0 ? $"UTC{(offset < 0 ? "-" : "+")}{TimeSpan.FromHours(offset):h\\:mm}" : "UTC";

            TimeZone       = offset;
            TimeZoneString = tz;

            P1       = local.PenumbralBegin?.JulianDay;
            P1String = local.PenumbralBegin != null ? $"{Format.Time.Format(new Date(local.PenumbralBegin.JulianDay, offset))}" : empty;

            U1       = local.PartialBegin?.JulianDay;
            U1String = local.PartialBegin != null ? $"{Format.Time.Format(new Date(local.PartialBegin.JulianDay, offset))}" : empty;

            U2       = local.TotalBegin?.JulianDay;
            U2String = local.TotalBegin != null ? $"{Format.Time.Format(new Date(local.TotalBegin.JulianDay, offset))}" : empty;

            Max       = local.Maximum?.JulianDay;
            MaxString = local.Maximum != null ? $"{Format.Time.Format(new Date(local.Maximum.JulianDay, offset))}" : empty;

            U3       = local.TotalEnd?.JulianDay;
            U3String = local.TotalEnd != null ? $"{Format.Time.Format(new Date(local.TotalEnd.JulianDay, offset))}" : empty;

            U4       = local.PartialEnd?.JulianDay;
            U4String = local.PartialEnd != null ? $"{Format.Time.Format(new Date(local.PartialEnd.JulianDay, offset))}" : empty;

            P4       = local.PenumbralEnd?.JulianDay;
            P4String = local.PenumbralEnd != null ? $"{Format.Time.Format(new Date(local.PenumbralEnd.JulianDay, offset))}" : empty;

            Visibility = visibility;
        }