コード例 #1
0
        private void BuildWeeks()
        {
            LogManager.GetLog(GetType()).Info("Build weeks");
            var date = _startDate;
            var weeks = new List<WeekUI>();

            while (date < _endDate)
            {
                var week = new WeekUI
                {
                    From = date,
                    To = date.AddDays(4)
                };

                //	calculate the morning and afternoon
                var days = from d in _days
                                     where week.From <= d.Day && d.Day <= week.To
                                     select d;

                week.Morning = days.Where(d => d.Morning).Count() > 2;
                week.Afternoon = days.Where(d => d.Afternoon).Count() > 2;

                weeks.Add(week);
                date = date.AddDays(7);
            }

            Weeks = weeks;
        }
コード例 #2
0
        public void ToggleMorningWeekAction(WeekUI week)
        {
            week.Morning = !week.Morning;

            //	update week
            var days = from d in _days
                                 where week.From <= d.Day && d.Day <= week.To
                                 select d;

            foreach (var day in days)
            {
                day.Morning = week.Morning;
            }
        }
コード例 #3
0
        public void PasteWeekAction(WeekUI week)
        {
            if (CopyWeek != null)
            {
                LogManager.GetLog(GetType()).Info("Paste week");
                var daysTo = (from d in _days
                                            where week.From <= d.Day && d.Day <= week.To
                                            select d).ToList();

                for (int index = 0; index < CopyWeek.Count; index++)
                {
                    daysTo[index].Morning = CopyWeek[index].Morning;
                    daysTo[index].Afternoon = CopyWeek[index].Afternoon;
                }

                UpdateWeek(week.From);
            }
            else
            {
                LogManager.GetLog(GetType()).Warn("Paste week - no source");
            }
        }
コード例 #4
0
        public void ToggleAfternoonWeekAction(WeekUI week)
        {
            week.Afternoon = !week.Afternoon;

            //	update week
            var days = from d in _days
                                 where week.From <= d.Day && d.Day <= week.To
                                 select d;

            foreach (var day in days)
            {
                day.Afternoon = week.Afternoon;
            }

            week.Morning = days.Where(d => d.Morning).Count() > 2;
            week.Afternoon = days.Where(d => d.Afternoon).Count() > 2;
        }
コード例 #5
0
        public void CopyWeekAction(WeekUI week)
        {
            LogManager.GetLog(GetType()).Info("Copy week");

            CopyWeek = (from d in _days
                                    where week.From <= d.Day && d.Day <= week.To
                                    select new ChildDayUI { Day = d.Day, Morning = d.Morning, Afternoon = d.Afternoon }).ToList();
        }