public static bool ContainsDayOfWeek(this ITimePeriod dateTimeRange, DayOfWeek dayOfWeek)
        {
            if (dateTimeRange.TotalDays() >= 7)
            {
                return(true);
            }

            //Sunday 0
            //Monday 1
            //Tuesday 2
            //Wednesday 3
            //Thursday 4
            //Friday 5
            //Saturday 6

            var firstDayOfTheWeekIndex = (int)dateTimeRange.FirstDay.DayOfWeek;
            var lastDayOfTheWeekIndex  = (int)dateTimeRange.LastDay.DayOfWeek;
            var dayOfWeekIndex         = (int)dayOfWeek;

            if (firstDayOfTheWeekIndex > lastDayOfTheWeekIndex)
            {
                //eg start Friday 5, end Tuesday 2, test Monday 1
                //eg start Friday 5, end Tuesday 2, test Saturday 6
                return(dayOfWeekIndex >= firstDayOfTheWeekIndex || dayOfWeekIndex <= lastDayOfTheWeekIndex);
            }
            else
            {
                //eg start Sunday 0, end Thursday 4, test Monday 1
                return(dayOfWeekIndex >= firstDayOfTheWeekIndex && dayOfWeekIndex <= lastDayOfTheWeekIndex);
            }
        }