/// <summary> /// Does this provider include special type of regions? /// </summary> /// <param name="regionCode"></param> /// <returns></returns> public override bool DoesIncludeRegion(string regionCode) { if (string.IsNullOrWhiteSpace(regionCode)) { return(false); } regionCode = CountryHelper.FixRegionCode(Country.UnitedKingdom, regionCode); switch (regionCode) { case "GB-GG": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.GG)); case "GB-JE": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.JE)); case "GB-IM": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.IM)); case "GB-GI": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.GI)); case "GB-BM": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.BM)); case "GB-KY": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.KY)); case "GB-TC": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.TC)); case "GB-VG": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.VG)); case "GB-AI": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.AI)); case "GB-MS": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.MS)); case "GB-SH": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.SH)); case "GB-GS": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.GS)); case "GB-IO": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.IO)); case "GB-PN": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.PN)); default: return(base.DoesIncludeRegion(regionCode)); } }
/// <inheritdoc /> public override bool DoesIncludeRegion(string regionCode) { if (string.IsNullOrWhiteSpace(regionCode)) { return(false); } regionCode = CountryHelper.FixRegionCode(Country.Australia, regionCode); return(OverseasRegionCache.Contains(regionCode) || base.DoesIncludeRegion(regionCode)); }
/// <summary> /// Does this provider include such region? /// </summary> /// <param name="regionCode"></param> /// <returns></returns> public virtual bool DoesIncludeRegion(string regionCode) { var regions = IncludeRegions().ToList(); if (!regions.Any()) { return(true); } if (string.IsNullOrWhiteSpace(regionCode)) { return(false); } regionCode = CountryHelper.FixRegionCode(Country, regionCode); return(regions.Any(x => x == regionCode)); }
/// <summary> /// Does this provider include special type of regions? /// </summary> /// <param name="regionCode"></param> /// <returns></returns> public override bool DoesIncludeRegion(string regionCode) { if (string.IsNullOrWhiteSpace(regionCode)) { return(false); } regionCode = CountryHelper.FixRegionCode(Country.Finland, regionCode); switch (regionCode) { case "DK-FO": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.FO)); default: return(base.DoesIncludeRegion(regionCode)); } }
/// <inheritdoc /> public override bool DoesIncludeRegion(string regionCode) { if (string.IsNullOrWhiteSpace(regionCode)) { return(false); } regionCode = CountryHelper.FixRegionCode(Country.UnitedStates, regionCode); var result = false; switch (regionCode) { case "US-VI": result = InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.VI); break; case "US-MP": result = InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.MP); break; case "US-PR": result = InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.PR); break; case "US-GU": result = InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.GU); break; case "US-AS": result = InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.AS); break; case "US-UM": result = InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.UM); break; } if (result) { return(true); } return(OverseasRegionCache.Contains(regionCode) || base.DoesIncludeRegion(regionCode)); }
/// <summary> /// Does this provider include special type of regions? /// </summary> /// <param name="regionCode"></param> /// <returns></returns> public override bool DoesIncludeRegion(string regionCode) { if (string.IsNullOrWhiteSpace(regionCode)) { return(false); } regionCode = CountryHelper.FixRegionCode(Country.France, regionCode); switch (regionCode) { case "FR-YT": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.YT)); case "FR-MQ": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.MQ)); case "FR-GP": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.GP)); case "FR-GF": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.GF)); case "FR-RE": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.RE)); case "FR-MF": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.MF)); case "FR-TF": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.TF)); case "FR-BL": return(InternalSingleInstanceServiceLocator.HolidayProviderManager.ContainsRegion(CountryCode.BL)); default: return(base.DoesIncludeRegion(regionCode)); } }
static AustraliaHolidayProvider() { OverseasRegionCache = AustraliaRegions.GetOverseasRegionCodes() .Select(code => CountryHelper.FixRegionCode(CountryCode.AU, code)); }
/// <summary> /// Gets holiday /// </summary> /// <param name="code"></param> /// <param name="regionCode"></param> /// <param name="year"></param> /// <param name="month"></param> /// <param name="day"></param> /// <returns></returns> public IEnumerable <IHolidayInfo> GetHolidays(CountryCode code, string regionCode, int year, int month, int day) { regionCode = CountryHelper.FixRegionCode(code, regionCode); return(_manager.GetHolidays(code, regionCode, year, month, day).Select(HolidayFactory.Create)); }
/// <summary> /// Get holiday /// </summary> /// <param name="country"></param> /// <param name="regionCode"></param> /// <param name="year"></param> /// <returns></returns> public static IEnumerable <IHolidayInfo> GetHolidays(Country country, string regionCode, int year) { regionCode = CountryHelper.FixRegionCode(country, regionCode); return(InternalSingleInstanceServiceLocator.HolidayManager.GetHolidays(country, regionCode, year).Select(HolidayFactory.Create)); }
/// <summary> /// Fix region code after check exist. /// </summary> /// <param name="regionCode"></param> /// <returns></returns> private string FixRegionCode(string regionCode) { regionCode = CountryHelper.FixRegionCode(Country, regionCode); return(_provider.FixRegionCode(regionCode)); }
static UnitedStatesHolidayProvider() { OverseasRegionCache = UnitedStatesRegions.GetOverseasRegionCodes() .Select(code => CountryHelper.FixRegionCode(CountryCode.US, code)); }