Ho un requisito che sembra apparentemente molto semplice (e forse strano) ma alcuni dettagli minori mi stanno dando problemi. Forse sto pensando troppo a questo.
Sto costruendo un'applicazione di pianificazione (su WPF) per un dispositivo incorporato che viene eseguito ogni giorno. Lo scheduler controlla quando il dispositivo può essere acceso e spento. Ad esempio, il dispositivo incorporato può essere programmato per spegnersi ogni fine settimana e durante le vacanze, ad esempio il 4 luglio.
Così sono andato avanti e ho progettato il mio datastructure per contenere una collezione datetime per le vacanze. In primo luogo, non ho bisogno di memorizzare l'ora, ma a quanto pare in C #, non c'è altra classe appropriata che contiene solo date. Secondo, anche io non ho bisogno di archiviare anni ma poi non ho modo di sapere se è un anno bisestile o meno. (Ad esempio, posso programmare l'arresto del dispositivo ogni 29 febbraio, ma quella data potrebbe non essere disponibile in un determinato anno.)
Ho anche bisogno di un modo per gli utenti di selezionare un mese / una data. Per quanto ne so, non esiste un controllo UI appropriato per gestire il mio problema. Penso di aver bisogno di cercare qualcosa di simile a questo (sotto è photoshopped da un controllo di calendario standard):
Quale struttura dati / design useresti per gestire problemi come questo? Qual è una buona progettazione dell'interfaccia utente per consentire agli utenti di selezionare in modo intuitivo un mese / una data?