Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,550

    [VB.Net] Gestire giorni di consegna

    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
    Ultima modifica di Kahm; 09-04-2021 a 14:35
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    non sarebbe meglio ragionare con il numero del giorno della settimana anziché col nome?

  3. #3
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,550
    Quote Originariamente inviata da optime Visualizza il messaggio
    non sarebbe meglio ragionare con il numero del giorno della settimana anziché col nome?
    si infatti internamente prendo un indexOf
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  4. #4
    dici? io vedo lunedì, martedì... ecc comunque, non capisco quale sia il problema...

    ti serve sapere quale sarebbe il prossimo giorno buono per la consegna? cioè, se oggi è il 9, devi trovare martedì 13? spiegati meglio

  5. #5
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,550
    Quote Originariamente inviata da optime Visualizza il messaggio
    dici? io vedo lunedì, martedì... ecc comunque, non capisco quale sia il problema...

    ti serve sapere quale sarebbe il prossimo giorno buono per la consegna? cioè, se oggi è il 9, devi trovare martedì 13? spiegati meglio
    il giorno piu vicino alla consegna
    si, forse sono stanco
    forse mi conviene fare un ciclo che appena trovo il giorno della settimana che si chiama come "giorno di consegna" lo prendo e lo do come valido
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  6. #6
    ti conviene investire un po' di tempo e creare una tabella a db con tutti i giorni buoni (metti che un martedì sia natale...); a questo punto interroghi il db con la prima data > oggi e il gioco è fatto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.