/// <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));
        }
示例#3
0
        /// <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));
        }
示例#4
0
        /// <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));
 }
示例#8
0
 /// <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));
 }
示例#9
0
 /// <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));
 }