public void Delete(IDailyWorkTimeWeekPlan workTimePlan)
 {
     if (workTimePlan == null) throw new ArgumentNullException(nameof(workTimePlan));
     if (!_timetableOfPlannedWorktime.Any(x => ReferenceEquals(x.Value, workTimePlan)))
         throw new ArgumentOutOfRangeException("this workplan is not part of the repository, therefore cant delete it");
     var kvpOfWorkTimePlan = _timetableOfPlannedWorktime.FirstOrDefault(x => ReferenceEquals(x.Value, workTimePlan));
     _timetableOfPlannedWorktime.Remove(kvpOfWorkTimePlan.Key);
 }
 public void AddOrUpdateWorkTimePlanBeginningAt(IDate startDate, IDailyWorkTimeWeekPlan workTimePlan)
 {
     if (startDate == null) throw new ArgumentNullException(nameof(startDate));
     if (workTimePlan == null) throw new ArgumentNullException(nameof(workTimePlan));
     _timetableOfPlannedWorktime[startDate] = workTimePlan;
 }