Sto provando a creare uno strumento che calcoli qualcosa chiamato quota in base a quando i dipendenti sono programmati per funzionare e quando richiedono.Come trovo l'intersezione di due serie di tempi non contigui?
mio oggetto ShiftSet è un insieme di oggetti Spostamento che consistono di uno StartTime e EndTime (entrambi di tipo tempo (7). Ogni ShiftSet corrisponde a un giorno.
ScheduleExceptions sono volte in cui un dipendente ha spento. Ci può essere qualsiasi numero di ScheduleExceptions sovrapposti non sovrapposte o in un giorno sono del tipo di dati datetime
un esempio di uno ShiftSet:..
08: 00-10: 00
10: 00-12: 00
13: 00-15: 00
15:00 -17: 00
Un esempio di ScheduleExceptions per quello stesso giorno:
07: 30-10: 30
14: 35-16: 00
Cosa devo fare è trovare la quantità di tempo in cui il dipendente sta lavorando in un giorno. Il modo in cui posso capire di fare questo è calcolare l'intersezione di ShiftSet e l'inverso di ScheduleExceptions.
Come dovrei farlo con il tempo? Preferirei usare Linq se possibile.
posso chiedere che tipo 'time (7)' è in C#? –
È ora in sql, ma in C# è l'intervallo di tempo. –
Hai bisogno di trovare il tempo totale o vuoi trovare le ore di inizio/fine effettive in cui un dipendente sta lavorando? – Abel