salve a tutti
il mio cliente riempie una tabella con i giorni di consegna per ciascun comune, dovrei dare al cliente una indicazione sul giorno di consegna in base al giorno di ordine
i giorni di consegna potrebbero essere 2 come 1
faccio un esempio : (giorni di consegna "giovedi e martedi" ed io sto prenotando di venerdi)
il problema è che il giorno che sto facendo i test è venerdi, e sto testando il tutto come se il cliente avesse immesso (martedi e giovedi), non riesco a dare una indicazione corretta.
-il primo impiccio è che CultureInfo mi da i giorni in italiano con la i accentata
-altro impiccio è che nel ciclo non riesco a far capire il mio giorno a quale giorno di consegna viene fatto
richiamo la funzione (in basso con)
codice:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim dt As New DataTable("giorn")
dt.Columns.Add("giorni", GetType(String))
Dim r As DataRow
r = dt.NewRow
r("giorni") = "Giovedi"
dt.Rows.Add(r)
r = dt.NewRow
r("giorni") = "Martedi"
dt.Rows.Add(r)
Dim D As DateTime = "09/04/2021" '"2021/05/09"
MessageBox.Show(GetGiornoConsegnaDaData(D, dt))
End Sub
codice:
Private Function GetGiornoConsegnaDaData(D As DateTime, dt As DataTable) As String
Dim settimana As New List(Of String)
settimana.Add("lunedì")
settimana.Add("lunedi")
settimana.Add("martedì")
settimana.Add("martedi")
settimana.Add("mercoledì")
settimana.Add("giovedì")
settimana.Add("giovedi")
settimana.Add("venerdi")
settimana.Add("venerdì")
settimana.Add("sabato")
settimana.Add("domenica")
Dim GGconsegna As New List(Of String)
For Each r In dt.Rows
GGconsegna.Add(r("giorni").ToString.ToLower())
Next
Dim GGItaliano As String = D.ToString("dddd", New System.Globalization.CultureInfo("it-IT"))
Dim indexOfMyShop As Integer = settimana.IndexOf(GGItaliano) '"Domenica"'
Dim Giorno As String
For Each L As String In GGconsegna
If Giorno <> "" Then Giorno = "tra " + Giorno + " e "
If settimana.IndexOf(L) > indexOfMyShop Then
Giorno = Giorno + settimana.IndexOf(indexOfMyShop)
End If
Next
Return Giorno
End Function