@@ -94,7 +94,7 @@ protected override IEnumerable<HolidaySpecification> GetHolidaySpecifications(in
94
94
Date = new DateTime ( year , 6 , 29 ) ,
95
95
EnglishName = "Saints Peter and Paul" ,
96
96
LocalName = "Peter und Paul" ,
97
- HolidayTypes = HolidayTypes . Public ,
97
+ HolidayTypes = HolidayTypes . Observance ,
98
98
SubdivisionCodes = [ "CH-TI" ]
99
99
} ,
100
100
new HolidaySpecification
@@ -105,22 +105,6 @@ protected override IEnumerable<HolidaySpecification> GetHolidaySpecifications(in
105
105
HolidayTypes = HolidayTypes . Public
106
106
} ,
107
107
new HolidaySpecification
108
- {
109
- Date = new DateTime ( year , 8 , 15 ) ,
110
- EnglishName = "Assumption of the Virgin Mary" ,
111
- LocalName = "Maria Himmelfahrt" ,
112
- HolidayTypes = HolidayTypes . Public ,
113
- SubdivisionCodes = [ "CH-LU" , "CH-UR" , "CH-SZ" , "CH-OW" , "CH-NW" , "CH-ZG" , "CH-FR" , "CH-SO" , "CH-BL" , "CH-AI" , "CH-GR" , "CH-AG" , "CH-TI" , "CH-VS" , "CH-JU" ]
114
- } ,
115
- new HolidaySpecification
116
- {
117
- Date = new DateTime ( year , 11 , 1 ) ,
118
- EnglishName = "All Saints' Day" ,
119
- LocalName = "Allerheiligen" ,
120
- HolidayTypes = HolidayTypes . Public ,
121
- SubdivisionCodes = [ "CH-LU" , "CH-UR" , "CH-SZ" , "CH-OW" , "CH-NW" , "CH-GL" , "CH-ZG" , "CH-FR" , "CH-SO" , "CH-AI" , "CH-SG" , "CH-GR" , "CH-AG" , "CH-TI" , "CH-VS" , "CH-JU" ]
122
- } ,
123
- new HolidaySpecification
124
108
{
125
109
Date = new DateTime ( year , 12 , 25 ) ,
126
110
EnglishName = "Christmas Day" ,
@@ -151,6 +135,14 @@ protected override IEnumerable<HolidaySpecification> GetHolidaySpecifications(in
151
135
HolidayTypes = HolidayTypes . Public ,
152
136
SubdivisionCodes = [ "CH-VD" ]
153
137
} ,
138
+ new HolidaySpecification
139
+ {
140
+ Date = new DateTime ( year , 12 , 31 ) ,
141
+ EnglishName = "Restoration Day" ,
142
+ LocalName = "Restauration de la République" ,
143
+ HolidayTypes = HolidayTypes . Public ,
144
+ SubdivisionCodes = [ "CH-GE" ]
145
+ } ,
154
146
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" ) ,
155
147
this . _catholicProvider . AscensionDay ( "Auffahrt" , year ) ,
156
148
} ;
@@ -161,6 +153,8 @@ protected override IEnumerable<HolidaySpecification> GetHolidaySpecifications(in
161
153
holidaySpecifications . AddRangeIfNotNull ( this . WhitMonday ( year ) ) ;
162
154
holidaySpecifications . AddRangeIfNotNull ( this . EasterMonday ( year ) ) ;
163
155
holidaySpecifications . AddRangeIfNotNull ( this . Epiphany ( year ) ) ;
156
+ holidaySpecifications . AddRange ( this . AssumptionOfTheVirginMary ( year ) ) ;
157
+ holidaySpecifications . AddRange ( this . AllSaintsDay ( year ) ) ;
164
158
holidaySpecifications . AddIfNotNull ( this . BerchtoldsDay ( year ) ) ;
165
159
holidaySpecifications . AddRangeIfNotNull ( this . SaintJosephsDay ( year ) ) ;
166
160
holidaySpecifications . AddRangeIfNotNull ( this . CorpusChristi ( year ) ) ;
@@ -194,12 +188,37 @@ private HolidaySpecification[] Epiphany(int year)
194
188
] ;
195
189
}
196
190
191
+ private HolidaySpecification [ ] AssumptionOfTheVirginMary ( int year )
192
+ {
193
+ var englishName = "Assumption of the Virgin Mary" ;
194
+ var localName = "Maria Himmelfahrt" ;
195
+
196
+ return
197
+ [
198
+ new HolidaySpecification
199
+ {
200
+ Date = new DateTime ( year , 8 , 15 ) ,
201
+ EnglishName = englishName ,
202
+ LocalName = localName ,
203
+ HolidayTypes = HolidayTypes . Public ,
204
+ SubdivisionCodes = [ "CH-LU" , "CH-UR" , "CH-SZ" , "CH-OW" , "CH-NW" , "CH-ZG" , "CH-FR" , "CH-SO" , "CH-AG" , "CH-TI" , "CH-VS" ]
205
+ } ,
206
+ new HolidaySpecification
207
+ {
208
+ Date = new DateTime ( year , 8 , 15 ) ,
209
+ EnglishName = englishName ,
210
+ LocalName = localName ,
211
+ HolidayTypes = HolidayTypes . Observance ,
212
+ SubdivisionCodes = [ "CH-AI" , "CH-JU" ]
213
+ }
214
+ ] ;
215
+ }
216
+
197
217
private HolidaySpecification BerchtoldsDay ( int year )
198
218
{
199
219
var subdivisionCodes = new List < string > ( [ "CH-BE" , "CH-FR" , "CH-SH" , "CH-AG" , "CH-TG" , "CH-VD" ] ) ;
200
220
201
- if ( new DateTime ( year , 1 , 1 ) . DayOfWeek == DayOfWeek . Sunday ||
202
- new DateTime ( year , 12 , 25 ) . DayOfWeek == DayOfWeek . Sunday )
221
+ if ( new DateTime ( year , 1 , 1 ) . DayOfWeek == DayOfWeek . Sunday )
203
222
{
204
223
subdivisionCodes . Add ( "CH-NE" ) ;
205
224
}
@@ -240,6 +259,32 @@ private HolidaySpecification[] SaintJosephsDay(int year)
240
259
] ;
241
260
}
242
261
262
+ private HolidaySpecification [ ] AllSaintsDay ( int year )
263
+ {
264
+ var englishName = "All Saints' Day" ;
265
+ var localName = "Allerheiligen" ;
266
+
267
+ return
268
+ [
269
+ new HolidaySpecification
270
+ {
271
+ Date = new DateTime ( year , 11 , 1 ) ,
272
+ EnglishName = englishName ,
273
+ LocalName = localName ,
274
+ HolidayTypes = HolidayTypes . Public ,
275
+ SubdivisionCodes = [ "CH-LU" , "CH-UR" , "CH-SZ" , "CH-OW" , "CH-NW" , "CH-GL" , "CH-ZG" , "CH-FR" , "CH-SO" , "CH-SG" , "CH-GR" , "CH-AG" , "CH-TI" , "CH-VS" ]
276
+ } ,
277
+ new HolidaySpecification
278
+ {
279
+ Date = new DateTime ( year , 11 , 1 ) ,
280
+ EnglishName = englishName ,
281
+ LocalName = localName ,
282
+ HolidayTypes = HolidayTypes . Observance ,
283
+ SubdivisionCodes = [ "CH-AI" , "CH-JU" ]
284
+ }
285
+ ] ;
286
+ }
287
+
243
288
private HolidaySpecification [ ] EasterMonday ( int year )
244
289
{
245
290
var localName = "Ostermontag" ;
@@ -295,15 +340,15 @@ private HolidaySpecification[] ImmaculateConception(int year)
295
340
EnglishName = englishName ,
296
341
LocalName = localName ,
297
342
HolidayTypes = HolidayTypes . Public ,
298
- SubdivisionCodes = [ "CH-LU" , "CH- UR", "CH-SZ" , "CH- OW", "CH-NW" , "CH-ZG" , "CH-FR" , "CH-SO" , "CH-AG" , "CH-TI ", "CH-VS" ]
343
+ SubdivisionCodes = [ "CH-UR" , "CH-OW" , "CH-NW" , "CH-ZG" , "CH-FR" , "CH-AG " , "CH-VS" ]
299
344
} ,
300
345
new HolidaySpecification
301
346
{
302
347
Date = new DateTime ( year , 12 , 8 ) ,
303
348
EnglishName = englishName ,
304
349
LocalName = localName ,
305
350
HolidayTypes = HolidayTypes . Observance ,
306
- SubdivisionCodes = [ "CH-AI" , "CH-JU" ]
351
+ SubdivisionCodes = [ "CH-AI" , "CH-JU" , "CH-LU" , "CH-SZ" , "CH-TI" ]
307
352
}
308
353
] ;
309
354
}
@@ -321,7 +366,7 @@ private HolidaySpecification[] LabourDay(int year)
321
366
EnglishName = englishName ,
322
367
LocalName = localName ,
323
368
HolidayTypes = HolidayTypes . Public ,
324
- SubdivisionCodes = [ "CH-ZH" , "CH-SO" , "CH-BS" , "CH-BL" , "CH-SH" , "CH-AG" , "CH- NE", "CH-JU" ]
369
+ SubdivisionCodes = [ "CH-ZH" , "CH-SO" , "CH-BS" , "CH-BL" , "CH-SH" , "CH-NE" , "CH-JU" ]
325
370
} ,
326
371
new HolidaySpecification
327
372
{
@@ -347,8 +392,7 @@ private HolidaySpecification[] StephensDay(int year)
347
392
subdivisionCodes . AddRange ( [ "CH-AR" , "CH-AI" ] ) ;
348
393
}
349
394
350
- if ( new DateTime ( year , 1 , 1 ) . DayOfWeek == DayOfWeek . Sunday ||
351
- new DateTime ( year , 12 , 25 ) . DayOfWeek == DayOfWeek . Sunday )
395
+ if ( new DateTime ( year , 12 , 25 ) . DayOfWeek == DayOfWeek . Sunday )
352
396
{
353
397
subdivisionCodes . Add ( "CH-NE" ) ;
354
398
}
0 commit comments