Skip to content

Commit

Permalink
Add Costa Rica
Browse files Browse the repository at this point in the history
  • Loading branch information
tinohager committed Oct 4, 2017
1 parent 4eee942 commit ec6b0a7
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 5 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ var age = DateSystem.GetAge(date);
#### North America
- [x] Bahamas
- [x] Canada
- [x] Costa Rica
- [ ] Cuba
- [x] Guatemala
- [ ] Haiti
Expand Down
1 change: 1 addition & 0 deletions Src/Nager.Date/CountryCode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public enum CountryCode
CA,
CH,
//CN,
CR,
CY,
CZ,
DE,
Expand Down
3 changes: 3 additions & 0 deletions Src/Nager.Date/DateSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ public static IEnumerable<PublicHoliday> GetPublicHoliday(CountryCode countryCod
//case CountryCode.CN:
// provider = new ChinaProvider();
// break;
case CountryCode.CR:
provider = new CostaRicaProvider();
break;
case CountryCode.CY:
provider = new CyprusProvider();
break;
Expand Down
10 changes: 5 additions & 5 deletions Src/Nager.Date/Nager.Date.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
<TargetFrameworks>net45;net461;netstandard2.0</TargetFrameworks>
<Description>Calculate Public Holidays / Federal Holidays for a given year, translation native and english. Country and County support. Supports more than 50 countries</Description>
<Company>nager.at</Company>
<Version>1.13.0</Version>
<Version>1.14.0</Version>
<Authors>Tino Hager</Authors>
<PackageReleaseNotes>Add Venezuela</PackageReleaseNotes>
<PackageTags>Public-Holiday PublicHoliday Bank-Holiday BankHoliday FederalHoliday Argentina Austria Australia Bahamas Belarus Belgium Bolivia Botswana Brazil Bulgaria Canada Croatia Cyprus CzechRepublic Denmark Estonia Finland France Germany Greece Guatemala Honduras Hungary Iceland Ireland Italy Latvia Liechtenstein Lithuania Luxembourg Madagascar Malta Namibia Netherlands Norway NewZealand Panana Paraguay Peru Poland Portugal Romania Russia Slovakia Slovenia SouthAfrica Spain Sweden Switzerland Venezuela UnitedKingdom UnitedStates Uruguay</PackageTags>
<PackageReleaseNotes>Add Costa Rica and Puerto Rico (Thanks @jcron)</PackageReleaseNotes>
<PackageTags>Public-Holiday PublicHoliday Bank-Holiday BankHoliday FederalHoliday Argentina Austria Australia Bahamas Belarus Belgium Bolivia Botswana Brazil Bulgaria Canada CostaRica Croatia Cyprus CzechRepublic Denmark Estonia Finland France Germany Greece Guatemala Honduras Hungary Iceland Ireland Italy Latvia Liechtenstein Lithuania Luxembourg Madagascar Malta Namibia Netherlands Norway NewZealand Panana Paraguay Peru Poland Portugal PuertoRico Romania Russia Slovakia Slovenia SouthAfrica Spain Sweden Switzerland Venezuela UnitedKingdom UnitedStates Uruguay</PackageTags>
<PackageProjectUrl>https://github.com/tinohager/Nager.Date</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/tinohager/Nager.Date/blob/master/Licence.txt</PackageLicenseUrl>
<Product>Nager.Date</Product>
<AssemblyVersion>1.13.0</AssemblyVersion>
<FileVersion>1.13.0</FileVersion>
<AssemblyVersion>1.14.0</AssemblyVersion>
<FileVersion>1.14.0</FileVersion>
<PackageId>Nager.Date</PackageId>
<Title>Nager Public Holiday</Title>
<PackageIconUrl>https://raw.githubusercontent.com/tinohager/Nager.Date/master/Doc/Icons/calendar.png</PackageIconUrl>
Expand Down
34 changes: 34 additions & 0 deletions Src/Nager.Date/PublicHolidays/CostaRicaProvider.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using Nager.Date.Model;
using System;
using System.Collections.Generic;
using System.Linq;

namespace Nager.Date.PublicHolidays
{
public class CostaRicaProvider : CatholicBaseProvider
{
public override IEnumerable<PublicHoliday> Get(int year)
{
//Costa Rica
//https://en.wikipedia.org/wiki/Public_holidays_in_Costa_Rica

var countryCode = CountryCode.CR;
var easterSunday = base.EasterSunday(year);

var items = new List<PublicHoliday>();
items.Add(new PublicHoliday(year, 1, 1, "New Year's Day", "New Year's Day", countryCode));
items.Add(new PublicHoliday(year, 4, 11, "Juan Santa maria Day", "Juan Santa maria Day", countryCode));
items.Add(new PublicHoliday(easterSunday.AddDays(-3), "Good Thursday ", "Maundy Thursday", countryCode));
items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Good Friday", "Good Friday", countryCode));
items.Add(new PublicHoliday(year, 5, 1, "Labor Day", "Labor Day", countryCode));
items.Add(new PublicHoliday(year, 7, 25, "Guanacaste Day", "Guanacaste Day", countryCode));
items.Add(new PublicHoliday(year, 8, 2, "Virgin of Los Angeles Day", "Virgin of Los Angeles Day", countryCode));
items.Add(new PublicHoliday(year, 8, 15, "Mother´s Day", "Mother´s Day", countryCode));
items.Add(new PublicHoliday(year, 9, 15, "Independence Day", "Independence Day", countryCode));
items.Add(new PublicHoliday(year, 10, 12, "Cultures National Day", "Cultures National Day", countryCode));
items.Add(new PublicHoliday(year, 12, 25, "Christmas Day", "Christmas Day", countryCode));

return items.OrderBy(o => o.Date);
}
}
}

0 comments on commit ec6b0a7

Please sign in to comment.