Exemplo n.º 1
0
        /// <summary>
        /// Funzione per il calcolo del giorno di Pasqua
        /// </summary>
        /// <param name="easterAlgorithm">Algoritmo da utilizzare per il calcolo</param>
        /// <param name="year">Anno di cui calcolare la Pasqua</param>
        /// <returns>Data di Pasqua</returns>
        public DateTime GetEasterDate(EasterAlgorithmEnum easterAlgorithm, int year)
        {
            // Istanza da utilizzare per il calcolo del giorno  di Pasqua
            IEasterCalculator calculator = null;

            // A seconda del tipo di algoritmo da utilizzare, viene instanziata
            // la classe adatta
            switch (easterAlgorithm)
            {
            case EasterAlgorithmEnum.OudinTondering:
                calculator = new OudinTonderingEasterCalculator();
                break;

            default:
                // Eccezione
                throw new Exception("Algoritmo non riconosciuto");
            }

            // Calcolo e restituzione del giorno di Pasqua
            return(calculator.GetEaster(year));
        }
Exemplo n.º 2
0
 public UkBankHolidayCalculator(IEasterCalculator easterCalculator)
 {
     _easterCalculator = easterCalculator ?? throw new ArgumentNullException(nameof(easterCalculator));
 }