From 3a9c9cc37cfe8b521ab0c8bd019928a02e85cbb3 Mon Sep 17 00:00:00 2001 From: Tino Hager Date: Mon, 30 Sep 2024 22:34:10 +0200 Subject: [PATCH] Switzerland - Fix Easter Monday (#691) - https://github.com/nager/Nager.Date/issues/683 --- .../SwitzerlandHolidayProvider.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Nager.Date/HolidayProviders/SwitzerlandHolidayProvider.cs b/src/Nager.Date/HolidayProviders/SwitzerlandHolidayProvider.cs index e1a40980..d6918972 100644 --- a/src/Nager.Date/HolidayProviders/SwitzerlandHolidayProvider.cs +++ b/src/Nager.Date/HolidayProviders/SwitzerlandHolidayProvider.cs @@ -176,12 +176,12 @@ protected override IEnumerable GetHolidaySpecifications(in SubdivisionCodes = ["CH-VD"] }, this._catholicProvider.GoodFriday("Karfreitag", year).SetSubdivisionCodes("CH-ZH", "CH-BE", "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TG", "CH-VD", "CH-NE", "CH-GE", "CH-JU"), - this._catholicProvider.EasterMonday("Ostermontag", year).SetSubdivisionCodes("CH-ZH", "CH-BE", "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TG", "CH-TI", "CH-VD", "CH-NE", "CH-GE", "CH-JU"), this._catholicProvider.AscensionDay("Auffahrt", year), this._catholicProvider.WhitMonday("Pfingstmontag", year).SetSubdivisionCodes("CH-ZH", "CH-BE", "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-TG", "CH-TI", "CH-VD", "CH-NE", "CH-GE", "CH-JU"), this._catholicProvider.CorpusChristi("Fronleichnam", year).SetSubdivisionCodes("CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-ZG", "CH-AI", "CH-TI", "CH-VS", "CH-JU") }; + holidaySpecifications.AddRangeIfNotNull(this.EasterMonday(year)); holidaySpecifications.AddRangeIfNotNull(this.Epiphany(year)); holidaySpecifications.AddIfNotNull(this.BerchtoldsDay(year)); holidaySpecifications.AddRangeIfNotNull(this.SaintJosephsDay(year)); @@ -261,6 +261,20 @@ private HolidaySpecification[] SaintJosephsDay(int year) ]; } + private HolidaySpecification[] EasterMonday(int year) + { + var localName = "Ostermontag"; + + var specificationPublic = this._catholicProvider.EasterMonday(localName, year).SetSubdivisionCodes("CH-ZH", "CH-BE", "CH-GL", "CH-FR", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TG", "CH-TI", "CH-VD", "CH-GE", "CH-JU"); + var specificationObservance = this._catholicProvider.EasterMonday(localName, year).SetSubdivisionCodes("CH-UR", "CH-SZ", "CH-OW").SetHolidayTypes(HolidayTypes.Observance); + + return + [ + specificationPublic, + specificationObservance + ]; + } + /// public override IEnumerable GetSources() {