Example #1
0
        private void navigateToMonth(int month, int year)
        {
            CalendarDisplayDays.Clear();

            var now                = new DateTime(year, month, 1, 0, 0, 0);
            var dayNumber          = now.Day;
            var firstDayOfMonth    = new DateTime(now.Year, now.Month, 1);
            var daysInCurrentMonth = getDaysInMonth(now.Month, now.Year);
            var lastDayOfMonth     = new DateTime(now.Year, now.Month, daysInCurrentMonth);

            var startOffset = (int)firstDayOfMonth.DayOfWeek;
            var endOffset   = 6 - startOffset - 1;

            var currentCreationDate = firstDayOfMonth.AddDays(-startOffset);

            var xPosition = 0;
            var yPosition = 0;

            for (var x = 0; x < startOffset; x++)
            {
                if (xPosition >= 6)
                {
                    xPosition = -1;
                    yPosition++;
                }
                xPosition++;

                CalendarDisplayDays.Add(new CalendarDayData(currentCreationDate, now.Month, xPosition, yPosition));
                currentCreationDate = currentCreationDate.AddDays(1);
            }
            for (var x = 0; x < daysInCurrentMonth; x++)
            {
                if (xPosition >= 6)
                {
                    xPosition = -1;
                    yPosition++;
                }
                xPosition++;

                CalendarDisplayDays.Add(new CalendarDayData(currentCreationDate, now.Month, xPosition, yPosition));
                currentCreationDate = currentCreationDate.AddDays(1);
            }
            for (var x = 0; x < endOffset; x++)
            {
                if (xPosition >= 6)
                {
                    xPosition = -1;
                    yPosition++;
                }
                xPosition++;

                CalendarDisplayDays.Add(new CalendarDayData(currentCreationDate, now.Month, xPosition, yPosition));
                currentCreationDate = currentCreationDate.AddDays(1);
            }

            ActiveMonthNumber = now.Month;
            ActiveYearNumber  = now.Year;
        }
Example #2
0
 internal Task Handle(CalendarDisplayDays setCalendarDays)
 {
     _calendarState.SetEnabled(true);
     return(_calendarState.GetEventsAsync(setCalendarDays.NumberOfDays));
 }