示例#1
0
        public Player(
            TeamMemberApiResponse teamMember,
            TeamCapacity teamCapacity,
            TeamMemberCapacity memberCapacity = null,
            Score score = null)
        {
            if (teamMember == null)
            {
                throw new ArgumentNullException(nameof(teamMember));
            }
            if (teamCapacity == null)
            {
                throw new ArgumentNullException(nameof(teamCapacity));
            }

            DisplayName = teamMember.DisplayName;
            Id          = teamMember.Id;
            ImageUrl    = teamMember.ImageUrl;
            UniqueName  = teamMember.UniqueName;

            Capacity           = memberCapacity ?? TeamMemberCapacity.Default(teamMember.Id, teamCapacity);
            CapacityMultiplier =
                (Capacity.DailyPercent > 0 ? 100 / Capacity.DailyPercent : MaxCapacityMultiplier)
                .Clamp(1, MaxCapacityMultiplier);

            Score = score ?? Score.Empty;

            ScoreAssistsSum = GetScoreSum(Score.Assists);
            ScoreGoalsSum   = GetScoreSum(Score.Goals);
            ScorePointsSum  = GetScoreSum(Score.Points);
        }
示例#2
0
        public TeamMember(TeamMemberApiResponse teamMember)
        {
            if (teamMember == null)
            {
                throw new ArgumentNullException(nameof(teamMember));
            }

            DisplayName = teamMember.DisplayName;
            Id          = teamMember.Id;
            ImageUrl    = teamMember.ImageUrl;
            UniqueName  = teamMember.UniqueName;
        }
示例#3
0
        public Author(TeamMemberApiResponse member)
        {
            if (member == null)
            {
                throw new ArgumentNullException(nameof(member));
            }

            MemberId          = member.Id;
            MemberDisplayName = member.DisplayName;
            MemberImageUrl    = member.ImageUrl;
            MemberUniqueName  = member.UniqueName;
        }
示例#4
0
        public Capacity(
            TeamMemberApiResponse teamMember,
            IEnumerable <IterationCapacityApiResponse.Activity> activities,
            IEnumerable <IterationDayOff> daysOff)
        {
            TeamMemberId          = teamMember.Id;
            TeamMemberDisplayName = teamMember.DisplayName;
            TeamMemberUniqueName  = teamMember.UniqueName;

            Activities = activities.ToList();
            DaysOff    = daysOff.ToList();
        }
示例#5
0
        public TeamMetaMember(TeamMemberApiResponse member)
        {
            if (member == null)
            {
                throw new ArgumentNullException(nameof(member));
            }

            Id          = member.Id;
            DisplayName = member.DisplayName;
            ImageUrl    = member.ImageUrl;
            UniqueName  = member.UniqueName;
            Url         = member.Url;
        }
示例#6
0
        public CommitInfo(
            GitCommitApiResponse commit,
            TeamMemberApiResponse teamMember,
            GitRepositoryApiResponse repository)
        {
            if (commit == null)
            {
                throw new ArgumentNullException(nameof(commit));
            }
            if (teamMember == null)
            {
                throw new ArgumentNullException(nameof(teamMember));
            }
            if (repository == null)
            {
                throw new ArgumentNullException(nameof(repository));
            }

            Commit     = new Commit(commit);
            Author     = new Author(teamMember);
            Repository = new Repo(repository);
        }