public void ToggleAction(DayUI ui)
        {
            ui.Morning = !ui.Morning;
            ui.Afternoon = ui.Morning;

            SaveHoliday(ui);
        }
 public void ToggleMorningAction(DayUI ui)
 {
     ui.Morning = !ui.Morning;
     SaveHoliday(ui);
 }
 public void ToggleAfternoonAction(DayUI ui)
 {
     ui.Afternoon = !ui.Afternoon;
     SaveHoliday(ui);
 }
        private static void SaveHoliday(DayUI ui)
        {
            LogManager.GetLog(typeof(CalendarMainViewModel)).Info("Save Holiday");

            using (var db = new PetoeterDb(PetoeterDb.FileName))
            {
                var day = db.Holidays.FindOne(d => d.Day == ui.Day);

                if (day != null)
                {
                    // update
                    day.Afternoon = ui.Afternoon;
                    day.Morning = ui.Morning;

                    db.Holidays.Update(day);
                }
                else
                {
                    if (ui.Morning || ui.Afternoon)
                    {
                        db.Holidays.Insert(new Model.Lite.Date
                        {
                            Day = ui.Day,
                            Morning = ui.Morning,
                            Afternoon = ui.Afternoon
                        });
                    }
                }
            }
        }
        protected void LoadItems()
        {
            LogManager.GetLog(GetType()).Info("Load items");

            CalculateCalendarRegion();

            var days = new List<DayUI>();

            using (var db = new PetoeterDb(PetoeterDb.FileName))
            {
                var children_presence = new List<DayCare.Model.Lite.Date>();

                foreach (var child in db.Children.FindAll())
                {
                    children_presence.AddRange(child.Schedule);
                }

                var date = _startDate;
                while (date <= _endDate)
                {
                    //	var scheduled = _child.Schedule.Where(d => d.Day == date).FirstOrDefault();
                    var day = new DayUI
                    {
                        Day = date,
                        ActiveMonth = date.Month == _currentDate.Month,
                        Active = (date.DayOfWeek != DayOfWeek.Saturday) &&
                                         (date.DayOfWeek != DayOfWeek.Sunday)
                    };

                    var holiday = db.Holidays.FindOne(d => d.Day == date);
                    if (holiday != null)
                    {
                        day.Morning = holiday.Morning;
                        day.Afternoon = holiday.Afternoon;
                    }

                    //	count children
                    day.MorningCount = children_presence.Count(d => d.Day == date && d.Morning);
                    day.AfternoonCount = children_presence.Count(d => d.Day == date && d.Afternoon);

                    days.Add(day);
                    date = date.AddDays(1);
                }
            }

            Days = days;
        }