Beispiel #1
0
        /// <summary>
        /// Convert to <see cref="DailyAnswer"/>
        /// </summary>
        /// <param name="year"></param>
        /// <returns></returns>
        public override DailyAnswer ToDailyAnswer(int year)
        {
            var date = DateTimeFactory.OffsetByWeek(year, 7, 1, DayOfWeek.Monday).AddDays(1);

            var builder = DailyAnswerBuilder.Create(Name, HolidayType).From(date);

            if (Since.HasValue)
            {
                builder.Since(Since.Value);
            }

            if (End.HasValue)
            {
                builder.End(End.Value);
            }

            if (TimeStepValue.HasValue)
            {
                builder.Times(TimeStepValue.Value);
            }

            builder.Country(Country.ToCode(), GetRegionCodeList());

            return(builder.I18N(I18NIdentityCode).Build(year));
        }
Beispiel #2
0
        /// <inheritdoc />
        public override DailyAnswer ToDailyAnswer(int year)
        {
            DateTime calculationTime;

            if (year == 2012 || year >= 2016)
            {
                calculationTime = DateTimeFactory.FindNextDay(year, 10, 1, DayOfWeek.Monday);
            }
            else
            {
                calculationTime = DateTimeFactory.OffsetByWeek(year, 6, 2, DayOfWeek.Monday);
            }

            return(DailyAnswerBuilder
                   .Create(Name, HolidayType)
                   .From(calculationTime)
                   .Country(Country.ToCode(), GetRegionCodeList())
                   .I18N(I18NIdentityCode)
                   .Build(year));
        }
        /// <inheritdoc />
        public override DailyAnswer ToDailyAnswer(int year)
        {
            DateTime calculationDay;

            if (year == 2020)
            {
                //https://www.bbc.co.uk/news/uk-48565417
                calculationDay = DateTimeFactory.FindDay(year, 5, DayOfWeek.Friday, 2);
            }
            else
            {
                calculationDay = DateTimeFactory.OffsetByWeek(year, 5, 2, DayOfWeek.Monday);
            }

            return(DailyAnswerBuilder
                   .Create(Name, HolidayType)
                   .From(calculationDay)
                   .Country(Country.ToCode(), GetRegionCodeList())
                   .I18N(I18NIdentityCode)
                   .Build(year));
        }