コード例 #1
0
        private void InitEvents()
        {
            _yearRange  = (int)AppDomain.CurrentDomain.GetData("EventViewableYearRange");
            CurrentYear = DateTime.Today.Year;
            Events      = new EventPeriod <EventPeriod <GXEvent> > [_yearRange];
            Events[0]   = new EventPeriod <EventPeriod <GXEvent> >(CurrentYear, FetchEvents(CurrentYear));

            for (int i = 1; i < _yearRange; i++)
            {
                Events[i] = new EventPeriod <EventPeriod <GXEvent> >(CurrentYear + i, new EventPeriod <GXEvent> [quarter]);
            }
        }
コード例 #2
0
        private EventPeriod <GXEvent>[] FetchEvents(int year)
        {
            var result     = new EventPeriod <GXEvent> [quarter];
            var yearEvents = _dbs.GetEvents(e => e.StartDate.Year == year);

            for (int i = 1; i <= quarter; i++)
            {
                Quarter qt;
                if (Enum.TryParse("Q" + i, out qt))
                {
                    var quarterEvents = yearEvents.Where(e => (e.StartDate.Month >= 12 / quarter * (i - 1) + 1) &&
                                                         (e.StartDate.Month <= 12 / quarter * i))
                                        .OrderBy(e => e.StartDate).ToArray();
                    result[i - 1] = new EventPeriod <GXEvent>(qt, quarterEvents);
                }
            }
            return(result);
        }