Пример #1
0
        public void SetRange(DateTime startDate, DateTime endDate, CalendarPages pages)
        {
            listbox.Items.Clear();

            var date = startDate;

            while (date <= endDate)
            {
                var settings = new SettingsProvider();

                var daypages = new CalendarPages();

                // filtering prioritizes modified over created and prevent pages from being
                // displayed twice in the month if both created and modified in the same month
                daypages.AddRange(pages.Where(p =>
                                              (settings.Modified && p.Modified.Date.Equals(date)) ||
                                              (!settings.Modified && p.Created.Date.Equals(date))
                                              ));

                if (daypages.Any() || settings.Empty)
                {
                    listbox.Items.Add(new DayItem
                    {
                        Date  = date,
                        Pages = daypages
                    });
                }

                date = date.AddDays(1);
            }

            Invalidate();
        }
Пример #2
0
        private void MakeDay(
            CalendarDays days, CalendarPages pages,
            DateTime date, bool modified, bool inMonth = false)
        {
            var day = new CalendarDay {
                Date = date, InMonth = inMonth
            };

            // filtering prioritizes modified over created and prevent pages from being
            // displayed twice in the month if both created and modified in the same month
            var pags = pages.Where(p =>
                                   (modified && p.Modified.Date.Equals(date)) ||
                                   (!modified && p.Created.Date.Equals(date))
                                   );

            pags.ForEach(p => day.Pages.Add(p));

            days.Add(day);
        }