예제 #1
0
        private void drawMonthCalendar()
        {
            var startDay = PersianDate.Find1StDayOfMonth(CalendarData.Year, CalendarData.Month, CalendarAttributes.CalendarType);

            int noOfDays;

            if (CalendarAttributes.CalendarType == CalendarType.PersianCalendar)
            {
                noOfDays = CalendarData.Month <= 6 ? 31 : 30;
            }
            else
            {
                noOfDays = DateTime.DaysInMonth(CalendarData.Year, CalendarData.Month);
            }

            if (CalendarData.Month == 12 && CalendarAttributes.CalendarType == CalendarType.PersianCalendar)
            {
                noOfDays = CalendarData.Year.IsLeapYear(CalendarAttributes.CalendarType) ? 30 : 29;
            }

            var monthCells = createEmptyCells();

            fillCells(startDay, noOfDays, monthCells);
            addCells(monthCells);
        }