protected async Task <bool> IsBusinessDayAsync(DateTime dateTime) { if (dateTime.DayOfWeek == DayOfWeek.Saturday || dateTime.DayOfWeek == DayOfWeek.Sunday) { return(false); } var countryName = Enum.GetName(typeof(Country), Country); if (!Enum.TryParse(countryName, out EnricoApi.Country enricoCountry)) { enricoCountry = EnricoApi.Country.UnitedStatesOfAmerica; } IList <Holiday> holidays; if (!_cache.TryGetValue(dateTime.Year, out holidays)) { holidays = await Enrico.GetPublicHolidaysForYearAsync(dateTime.Year, enricoCountry).ConfigureAwait(false); _cache.Set(dateTime.Year, holidays, _policy); } return(!holidays.Any(h => h.DateTime.Date.Equals(dateTime.Date))); }
static void Main(string[] args) { var enrico = Enrico.GetPublicHolidaysForYearAsync(2016, Country.UnitedStatesOfAmerica, Region.California).Result; var enrico2 = Enrico.GetPublicHolidaysForMonthAsync(2016, 1, Country.HongKong).Result; var enrico3 = Enrico.GetPublicHolidaysForDateRangeAsync(new DateTime(2016, 1, 1), DateTime.Now, Country.HongKong).Result; bool isTrue = Enrico.IsPublicHolidayAsync(new DateTime(2016, 1, 6), Country.HongKong).Result; Console.ReadLine(); }