Skip to content

Commit 0f46c7d

Browse files
Merge pull request #275 from wmedinasam/feat_Add_GT_Holidays
Add all holidays in Guatemala.
2 parents bcecba2 + e9d594d commit 0f46c7d

File tree

2 files changed

+111
-0
lines changed

2 files changed

+111
-0
lines changed
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
using DateTimeExtensions.Common;
2+
3+
namespace DateTimeExtensions.WorkingDays.CultureStrategies
4+
{
5+
[Locale("es-GT")]
6+
public class ES_GTHolidayStrategy : HolidayStrategyBase, IHolidayStrategy
7+
{
8+
public ES_GTHolidayStrategy()
9+
{
10+
this.InnerHolidays.Add(GlobalHolidays.NewYear);
11+
this.InnerHolidays.Add(ChristianHolidays.MaundyThursday); // Jueves Santo
12+
this.InnerHolidays.Add(ChristianHolidays.GoodFriday); // Viernes Santo
13+
this.InnerHolidays.Add(ChristianHolidays.EasterSaturday); // Sábado de Gloria
14+
this.InnerHolidays.Add(GlobalHolidays.InternationalWorkersDay); // Día del Trabajo
15+
this.InnerHolidays.Add(MothersDay);
16+
this.InnerHolidays.Add(ChristianHolidays.Assumption); // Feriado Ciudad Capital Guatemala
17+
this.InnerHolidays.Add(ChristianHolidays.DayOfTheDead);
18+
this.InnerHolidays.Add(ChristianHolidays.Christmas);
19+
this.InnerHolidays.Add(ChristianHolidays.ChristmasEve);
20+
this.InnerHolidays.Add(GlobalHolidays.NewYearsEve);
21+
this.InnerHolidays.Add(IndependenceDay); // Día de la Independencia
22+
this.InnerHolidays.Add(RevolutionDay); // Día de la Revolución
23+
this.InnerHolidays.Add(ArmyDay); // Día del Ejército
24+
this.InnerHolidays.Add(AllSaintsDay); // Día de Todos los Santos
25+
}
26+
27+
private static Holiday _mothersDay;
28+
29+
private static Holiday _independenceDay;
30+
31+
private static Holiday _revolutionDay;
32+
33+
private static Holiday _armyDay;
34+
35+
private static Holiday _allSaintsDay;
36+
37+
public static Holiday MothersDay
38+
{
39+
get
40+
{
41+
if (_mothersDay == null)
42+
{
43+
_mothersDay = new FixedHoliday("Día de la Madre", 5, 10);
44+
}
45+
46+
return _mothersDay;
47+
}
48+
}
49+
50+
public static Holiday IndependenceDay
51+
{
52+
get
53+
{
54+
if (_independenceDay == null)
55+
{
56+
_independenceDay = new FixedHoliday("Día de la Independencia", 9, 15);
57+
}
58+
59+
return _independenceDay;
60+
}
61+
}
62+
63+
public static Holiday RevolutionDay
64+
{
65+
get
66+
{
67+
if (_revolutionDay == null)
68+
{
69+
_revolutionDay = new FixedHoliday("Día de la Revolución", 10, 20);
70+
}
71+
72+
return _revolutionDay;
73+
}
74+
}
75+
76+
public static Holiday ArmyDay
77+
{
78+
get
79+
{
80+
if (_armyDay == null)
81+
{
82+
_armyDay = new FixedHoliday("Día del Ejercito", 6, 30);
83+
}
84+
85+
return _armyDay;
86+
}
87+
}
88+
89+
public static Holiday AllSaintsDay
90+
{
91+
get
92+
{
93+
if (_allSaintsDay == null)
94+
{
95+
_allSaintsDay = new FixedHoliday("Día de Todos los Santos", 11, 1);
96+
}
97+
98+
return _allSaintsDay;
99+
}
100+
}
101+
}
102+
}

tests/DateTimeExtensions.Tests/HolidaysTranslations/SpanishHolidaysNamesTest.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,15 @@ public void AssertSpanishHolidaysAreTranslated()
4646
Assert.AreEqual(ChristianHolidays.Pentecost.Name, "Pentecostés");
4747
Assert.AreEqual(ChristianHolidays.PentecostMonday.Name, "Lunes de Pentecostés");
4848
Assert.AreEqual(GlobalHolidays.InternationalWorkersDay.Name, "Fiesta del Trabajo");
49+
50+
new CultureInfo("es-GT").SetCurrentUICultureInfo();
51+
Assert.AreEqual("es-GT", CultureInfo.CurrentUICulture.Name);
52+
Assert.AreEqual(ES_GTHolidayStrategy.ArmyDay.Name, "Día del Ejercito");
53+
Assert.AreEqual(ES_GTHolidayStrategy.IndependenceDay.Name, "Día de la Independencia");
54+
Assert.AreEqual(ES_GTHolidayStrategy.MothersDay.Name, "Día de la Madre");
55+
Assert.AreEqual(ES_GTHolidayStrategy.RevolutionDay.Name, "Día de la Revolución");
56+
Assert.AreEqual(ES_GTHolidayStrategy.AllSaintsDay.Name, "Día de Todos los Santos");
57+
4958
}
5059
}
5160
}

0 commit comments

Comments
 (0)