Example #1
0
        public async Task <MemberHomework[]> GetHomeworks(int memberId)
        {
            if (memberId <= default(int))
            {
                throw ExceptionHelper.CreateArgumentShoulBeGreaterThanZeroException(nameof(memberId));
            }

            var githubAccount = await _membersRepository.GetGitHubAccount(memberId);

            if (githubAccount == null)
            {
                throw new BusinessException("Member haven't github account");
            }

            var pullRequests = await _gitHubApiClient.GetPullRequests(githubAccount.GithubAccountId);

            var homeworks = new List <MemberHomework>();

            foreach (var pullRequest in pullRequests)
            {
                var homework = _mapper.Map <PullRequest, MemberHomework>(pullRequest);
                homework.MemberId = memberId;
                homeworks.Add(homework);
            }

            return(homeworks.ToArray());
        }