protected void UpdateMonthCollection <T>() where T : CalendarMonth
 {
     if (ParentScheduleSettings.FlightDateStart.HasValue && ParentScheduleSettings.FlightDateEnd.HasValue)
     {
         var months    = new List <CalendarMonth>();
         var startDate = new DateTime(ParentScheduleSettings.FlightDateStart.Value.Year, ParentScheduleSettings.FlightDateStart.Value.Month, 1);
         while (startDate <= ParentScheduleSettings.FlightDateEnd.Value)
         {
             var month = Months.FirstOrDefault(x => x.Date.Equals(startDate));
             if (month == null)
             {
                 month      = (T)Activator.CreateInstance(typeof(T), this);
                 month.Date = startDate;
             }
             month.Days.Clear();
             month.Days.AddRange(Days.Where(x => x.Date >= month.DaysRangeBegin && x.Date <= month.DaysRangeEnd));
             months.Add(month);
             startDate = startDate.AddMonths(1);
         }
         Months.Clear();
         Months.AddRange(months);
     }
     else
     {
         Months.Clear();
     }
 }
Esempio n. 2
0
        public TimeAccountingCalendarViewModel(UsernamePasswordConnection connection)
        {
            _connection = connection;

            Year = new Year(DateTime.Now.Year, true);
            Months.AddRange(GetMonths());
            UploadWorkItems();
        }
Esempio n. 3
0
 public CronTemplate(IList <int> seconds, IList <int> minutes, IList <int> hours, IList <int> daysOfMonth, IList <int> months, IList <int> dayOfWeek)
 {
     Seconds.AddRange(seconds);
     Minutes.AddRange(minutes);
     Hours.AddRange(hours);
     DaysOfMonth.AddRange(daysOfMonth);
     Months.AddRange(months);
     DaysOfWeek.AddRange(dayOfWeek);
 }
Esempio n. 4
0
        public override void UpdateMonthCollection()
        {
            if (!MediaScheduleSettings.FlightDateStart.HasValue || !MediaScheduleSettings.FlightDateEnd.HasValue)
            {
                Months.Clear();
                return;
            }
            var months         = new List <CalendarMonth>();
            var startDate      = MediaScheduleSettings.FlightDateStart.Value;
            var monthTemplates = MediaScheduleSettings.MondayBased ?
                                 MediaMetaData.Instance.ListManager.MonthTemplatesMondayBased :
                                 MediaMetaData.Instance.ListManager.MonthTemplatesSundayBased;

            while (startDate <= MediaScheduleSettings.FlightDateEnd.Value)
            {
                var monthTemplate = monthTemplates.FirstOrDefault(mt => startDate >= mt.StartDate && startDate <= mt.EndDate);
                if (monthTemplate == null)
                {
                    continue;
                }

                startDate = monthTemplate.Month.Value;
                var month = Months.FirstOrDefault(x => x.Date == startDate);
                if (month == null)
                {
                    if (MediaScheduleSettings.MondayBased)
                    {
                        month = new CalendarMonthMediaMondayBased(this);
                    }
                    else
                    {
                        month = new CalendarMonthMediaSundayBased(this);
                    }
                    ApplyDefaultMonthSettings(month);
                }
                month.Date           = monthTemplate.Month.Value;
                month.DaysRangeBegin = monthTemplate.StartDate.Value;
                month.DaysRangeEnd   = monthTemplate.EndDate.Value;
                month.Days.Clear();
                month.Days.AddRange(Days.Where(x => x.Date >= month.DaysRangeBegin && x.Date <= month.DaysRangeEnd));
                months.Add(month);
                startDate = startDate.AddMonths(1);
            }
            Months.Clear();
            Months.AddRange(months);
        }
        private void CacheNextMonths()
        {
            var monthsToAdd = new List <MonthViewModel>();
            var lastMonth   = Months.Last();

            for (int i = 1; i < CachedMonthCount; i++)
            {
                var monthToAddDateTime = lastMonth.CurrentDate.AddMonths(i);
                var monthToAdd         = new MonthViewModel(
                    monthToAddDateTime,
                    SelectDayCommand,
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(monthToAddDateTime, ConstantsHelper.Active),
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(monthToAddDateTime, ConstantsHelper.Completed));

                monthsToAdd.Add(monthToAdd);
                Months.RemoveAt(0);
            }
            Months.AddRange(monthsToAdd);
        }