public static int WeekDayOfMonth(Period period, TDayOrdinal dayOrdinal)
        {
            DateTime periodDate = DateOfMonth(period, dayOrdinal);

            int periodDateCwd = (int)periodDate.DayOfWeek;

            return(DayOfWeekMonToSun(periodDateCwd));
        }
        public static DateTime DateOfMonth(Period period, TDayOrdinal dayOrdinal)
        {
            TDayOrdinal periodDay = Math.Min(Math.Max((TDayOrdinal)1, dayOrdinal), DaysInMonth(period));

            return(new DateTime(period.Year(), period.Month(), periodDay));
        }