Ciao a tutti, è da molto tempo che non programmo in vb.net, e ho bisogno del vostro aiuto.
Ho creato un'applicazione web che permette all'utente di gestire gli orari dei dipendenti di una determinata azienda. Ora, il dipendente completa un form con i relativi campi (che rappresentano il giorno lavorativo) e aggiunge le relative pause. Il risultato finale (da codice) è questo:

codice:
{"monday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"tuesday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"wednesday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"thursday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"friday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"saturday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]},"sunday":{"start":"09:00","end":"18:00","breaks":[{"start":"11:20","end":"11:30"},{"start":"14:30","end":"15:00"}]}}
per una visione più chiara:

codice:
"monday":{
    "start":"09:00",
    "end":"18:00",
    "breaks":[
    {
    "start":"11:20",
    "end":"11:30"
    },
    {
    "start":"14:30",
    "end":"15:00"
    }
    ]
    },
    "tuesday":{
    "start":"09:00",
    "end":"18:00",
    "breaks":[
    {
    "start":"11:20",
    "end":"11:30"
    },
    {
    "start":"14:30",
    "end":"15:00"
    }
    ]
    },
In vb.net sto sviluppando un app che permette di sincronizzare i dati da locale a web, e ho quindi bisogno di mantenere la stessa struttura del json per avere piena compatibilità con l'applicazione web. Essenzialmente in vb.net l'utente completa i campi scegliendo il giorno lavorativo, ad esempio, lunedì e setta inizio e fine (10:00 - 18:30), poi aggiunge le pause lavorative per quel giorno; come avete visto le pause lavorative possono essere molteplici, questo per dividere la fascia di lavoro.
Ora voglio sapere come posso raggiungere in vb.net una cosa del genere, ho dato uno sguardo ad alcuni vecchi codici e quello che sono riuscito a combinare fino ad ora è creare una classe che sfrutta la libreria .JSON ed inserire i giorni lavorativi come segue:

codice:
Public Class WorkDay          
        <JsonProperty("start")>
        Public Property starttime As String
        <JsonProperty("end")>
        Public Property endtime As String
        Public Property breaks As Break()
    End Class


    Public Class Break              
        <JsonProperty("start")>
        Public Property starttime As String
        <JsonProperty("end")>
        Public Property endtime As String
    End Class


    Public Class WorkWeek           
        Public Property monday As WorkDay
        Public Property tuesday As WorkDay
        Public Property wednesday As WorkDay
        Public Property thursday As WorkDay
        Public Property friday As WorkDay
        Public Property saturday As WorkDay
        Public Property sunday As WorkDay
    End Class
Per inserire valorizzare i giorni lavorativi ecco quello che faccio:

codice:
'Creo l'istanza della settimana lavorativa

Dim workWeek As New WorkWeek

'Passo il valore del DateTimePicker al giorno della classe

workWeek.monday.starttime = User.monday_start.Value
WorkWeek.monday.endtime = User.monday_end.Value
Ora il problema è quest'aggiunta ritorna una NullReference Exception ma posso dirvi che con il break point ho visto che monday_start ed end sono entrambi valorizzati, quindi cosa sto facendo di sbagliato?
C'è una strada migliore per raggiungere la struttura mostrata?