Пример #1
0
        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);
        }
Пример #2
0
        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>());
        }