/// <summary> /// Retourne la prochaine date d'éxécution d'un échéancier en fonction de sa périodicité /// </summary> /// <param name="periodicite">la périodicité</param> /// <param name="dateDernierMouvement">la date de dernière éxécution de l'échéancier</param> /// <param name="nbJours">le nombre de jours (null si aucun)</param> /// <returns></returns> public static DateTime GetNbJoursPeriodicite(PeriodiciteEnum periodicite, DateTime dateDernierMouvement, int nbJours) { switch (periodicite) { case PeriodiciteEnum.Annuel: return(DateUtils.AjouterAnnee(dateDernierMouvement, 1)); case PeriodiciteEnum.Bimestriel: return(DateUtils.AjouterMois(dateDernierMouvement, 6)); case PeriodiciteEnum.Trimestriel: return(DateUtils.AjouterMois(dateDernierMouvement, 3)); case PeriodiciteEnum.Mensuel: return(DateUtils.AjouterMois(dateDernierMouvement, 1)); case PeriodiciteEnum.Hebdomadaire: return(DateUtils.AjouterJours(dateDernierMouvement, 7)); case PeriodiciteEnum.Quotidien: return(DateUtils.AjouterJours(dateDernierMouvement, 1)); case PeriodiciteEnum.Personalise: return(DateUtils.AjouterJours(dateDernierMouvement, (nbJours == 0)?1:nbJours)); default: return(DateUtils.AjouterJours(dateDernierMouvement, 1)); } }