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; }
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; } }
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"); } }
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; }
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(); }