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); }
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; }