public TeamMemberCapacity( Guid memberId, IterationCapacityApiResponse capacity, IEnumerable <DateTime> iterationWorkDays, IEnumerable <DateTime> teamDaysOff) : this( memberId, GetMemberCapacityPerDay(capacity), GetMemberDaysOff(capacity), iterationWorkDays, teamDaysOff) { }
public Capacity(IterationCapacityApiResponse capacity) { if (capacity == null) { throw new ArgumentNullException(nameof(capacity)); } var activities = capacity.Activities.Select(x => new Activity(x)).ToList(); var daysOff = capacity.DaysOff.Select(x => new DayOff(x)).ToList(); Activities = new ReadOnlyCollection <Activity>(activities); DaysOff = new ReadOnlyCollection <DayOff>(daysOff); }
private static IEnumerable <DateTime> GetMemberDaysOff(IterationCapacityApiResponse capacity) { return(capacity?.DaysOff?.SelectMany(x => x.Start.GetWorkDatesUntil(x.End)).ToList() ?? Enumerable.Empty <DateTime>()); }
private static IEnumerable <double> GetMemberCapacityPerDay(IterationCapacityApiResponse capacity) { return(capacity?.Activities?.Select(x => x.CapacityPerDay).ToList() ?? Enumerable.Empty <double>()); }