public WeeklySyncViewModel(WeeklySyncFrequency weeklyWeeklySyncFrequency)
 {
     _weeklySyncFrequency = weeklyWeeklySyncFrequency;
     TimeOfDay = weeklyWeeklySyncFrequency.TimeOfDay;
     WeekRecurrence = weeklyWeeklySyncFrequency.WeekRecurrence;
     foreach (var dayOfWeekEnum in weeklyWeeklySyncFrequency.DaysOfWeek)
     {
         LoadDayOfTheWeek(dayOfWeekEnum);
     }
     IsModified = false;
 }
 private void UpdateDaysOfWeek(WeeklySyncFrequency frequency, bool isValid, DayOfWeek dayOfWeek)
 {
     if (isValid)
     {
         frequency.DaysOfWeek.Add(dayOfWeek);
     }
 }
        public override SyncFrequency GetFrequency()
        {
            if (_weeklySyncFrequency == null)
            {
                _weeklySyncFrequency = new WeeklySyncFrequency();
            }

            if (IsModified)
            {
                var timeNow = DateTime.Now;
                _weeklySyncFrequency.StartDate = timeNow.Subtract(new TimeSpan(0, 0, timeNow.Second));
                _weeklySyncFrequency.WeekRecurrence = WeekRecurrence;
                _weeklySyncFrequency.TimeOfDay = TimeOfDay;
                UpdateDaysOfWeek(_weeklySyncFrequency, IsSunday, DayOfWeek.Sunday);
                UpdateDaysOfWeek(_weeklySyncFrequency, IsMonday, DayOfWeek.Monday);
                UpdateDaysOfWeek(_weeklySyncFrequency, IsTuesday, DayOfWeek.Tuesday);
                UpdateDaysOfWeek(_weeklySyncFrequency, IsWednesday, DayOfWeek.Wednesday);
                UpdateDaysOfWeek(_weeklySyncFrequency, IsThursday, DayOfWeek.Thursday);
                UpdateDaysOfWeek(_weeklySyncFrequency, IsFriday, DayOfWeek.Friday);
                UpdateDaysOfWeek(_weeklySyncFrequency, IsSaturday, DayOfWeek.Saturday);
            }
            IsModified = false;
            return _weeklySyncFrequency;
        }