public TeamMetaIteration( IterationApiResponseBase iteration, IterationCapacityListApiResponse capacities, IterationDaysOffApiResponse teamDaysOff) { if (iteration == null) { throw new ArgumentNullException(nameof(iteration)); } if (capacities == null) { throw new ArgumentNullException(nameof(capacities)); } if (teamDaysOff == null) { throw new ArgumentNullException(nameof(teamDaysOff)); } Id = iteration.Id; Name = iteration.Name; StartDate = iteration.Attributes?.StartDate; FinishDate = iteration.Attributes?.FinishDate; Url = iteration.Url; var capacityList = capacities.Value.Select(x => new Capacity(x)).ToList(); var teamDaysOffList = teamDaysOff.DaysOff.Select(x => new DayOff(x)).ToList(); Capacities = new ReadOnlyCollection <Capacity>(capacityList); TeamDaysOff = new ReadOnlyCollection <DayOff>(teamDaysOffList); }
private static IEnumerable <DateTime> GetIterationWorkDays(IterationApiResponseBase iteration) { var iterationStartAt = iteration.Attributes?.StartDate ?? DateTime.MinValue; var iterationEndAt = iteration.Attributes?.FinishDate ?? DateTime.MinValue; return(iterationStartAt != DateTime.MinValue && iterationEndAt != DateTime.MinValue ? iterationStartAt.GetWorkDatesUntil(iterationEndAt) : Enumerable.Empty <DateTime>()); }