Public Sub CheckStatus()
Dim MorningTime As DateTime = Convert.ToDateTime(Morning)
Dim NoonTime As DateTime = Convert.ToDateTime(Noon)
Dim AfterNoonTime As DateTime = Convert.ToDateTime(Afternoon)
Dim SunSetTime As DateTime = Convert.ToDateTime(Sunset)
Dim NightTime As DateTime = Convert.ToDateTime(Night)
Dim allTimes As New Dictionary(Of String, DateTime) From {{"Morning", MorningTime}, _
{"Noon", NoonTime}, _
{"Afternoon", AfterNoonTime}, _
{"Sunset", SunSetTime}, _
{"Night", NightTime}}
Dim CurrentTime As DateTime = DateTime.Now
Dim CurrentPrayer As String = allTimes.LastOrDefault(Function(kvp) kvp.Value <= CurrentTime).Key
' CurrentPrayer will be NOTHING for times < Morning
' so the actual Prayer will be Yesterday's NightTime Prayer
' and the next Prayer has to be Today's Morning Prayer
If CurrentPrayer = Nothing Then
CurrentPrayer = "Yesterday Night"
End If
lblCurrent.Text = "Current prayer: " & CurrentPrayer
If CurrentPrayer = "Yesterday Night" Then
lblNext.Text = "Next prayer: Morning " & Morning
ElseIf CurrentPrayer = "Morning" Then
lblNext.Text = "Next prayer: Noon " & Noon
ElseIf CurrentPrayer = "Noon" Then
lblNext.Text = "Next prayer: Afternoon " & Afternoon
ElseIf CurrentPrayer = "Afternoon" Then
lblNext.Text = "Next prayer: Sunset " & Sunset
ElseIf CurrentPrayer = "Sunset" Then
lblNext.Text = "Next prayer: Night " & Night
ElseIf CurrentPrayer = "Night" Then
' next Prayer has to be Tomorrow's Morning Prayer
Dim Tomorrow As DateTime = DateTime.Today.AddDays(1)
lblNext.Text = "Next prayer: Tomorrow Morning " & GetTime("_" & Tomorrow.ToString("MM"), "_" & Tomorrow.ToString("dd"), "Morning")
End If
End Sub