public TrainingCalendarWeek(DateTime startDate, TrainingPhase phase, double weekTssTarget,
                             TimeSpan weekHoursTarget)
 {
     if (startDate.DayOfWeek != DayOfWeek.Monday)
     {
         throw new ArgumentOutOfRangeException("First Day of week must be Monday");
     }
     Phase      = phase;
     FirstDate  = startDate;
     LastDate   = FirstDate + TimeSpan.FromDays(7);
     DaysOfWeek = new List <TrainingCalendarDay>(7);
     for (var i = 0; i < 7; i++)
     {
         DaysOfWeek.Add(new TrainingCalendarDay {
             Date = startDate + TimeSpan.FromDays(i)
         });
     }
     WeekTssTarget    = weekTssTarget;
     _weekHoursTarget = weekHoursTarget;
 }
 public TrainingCalendarWeek(DateTime startDate, TrainingPhase phase, double weekTssTarget,
     TimeSpan weekHoursTarget)
 {
     if (startDate.DayOfWeek != DayOfWeek.Monday)
     {
         throw new ArgumentOutOfRangeException("First Day of week must be Monday");
     }
     Phase = phase;
     FirstDate = startDate;
     LastDate = FirstDate + TimeSpan.FromDays(7);
     DaysOfWeek = new List<TrainingCalendarDay>(7);
     for (var i = 0; i < 7; i++)
     {
         DaysOfWeek.Add(new TrainingCalendarDay {Date = startDate + TimeSpan.FromDays(i)});
     }
     WeekTssTarget = weekTssTarget;
     _weekHoursTarget = weekHoursTarget;
 }