J'ai une application qui doit être exécutée pendant les jours ouvrés et pendant les heures de travail.
Dans la configuration de l'application, j'ai défini l'heure de début au format
Lundi-Vendredi
9h00-17h30
Maintenant, j'ai un problème pour vérifier si le jour actuel est dans la plage de jours (pour l'heure c'est facile - analyser l'heure avec DateTime.ParseExact
et une simple branche suffira), mais je ne sais pas comment faire pour analyser les jours.
J'ai essayé avec :
JourSemaine jour = DateTime.Now.DaySemaine;
if (jour >= (JourSemaine)Enum.Parse(typeof(JourSemaine), sr.jour_debut) &&
jour <= (JourSemaine)Enum.Parse(typeof(JourSemaine), sr.jour_fin))
{ /* OK */ }
sr.jour_debut
et sr.jour_fin
sont des chaînes de caractères
mais le problème est survenu lors des tests du week-end - apparemment, dans l'énumération JourSemaine
, le dimanche est le premier jour de la semaine (voir les commentaires sur la page MSDN
Je suppose que je pourrais faire quelques gymnastiques avec le code actuel, mais je recherche le code le plus lisible possible.
Édition Désolé pour le malentendu - les jours ouvrés ne vont pas du lundi au vendredi - ils sont définis sous forme de chaînes dans le fichier de configuration, et ils peuvent même aller du vendredi au samedi - ce qui casse mon code original.