Example #1
0
        /// <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));
            }
        }