예제 #1
0
        internal async Task <Developer> CreateOrUpdateDeveloper(string username, CancellationToken cancellationToken = default)
        {
            var gitDeveloper = await _githubService.GetDeveloper(username, cancellationToken);

            if (gitDeveloper == null)
            {
                return(null);
            }

            var dbDeveloper = await _developerRepository.CreateOrUpdate(gitDeveloper, cancellationToken);

            return(dbDeveloper);
        }
        public async Task <CreateUserCmdResponse> Handle(CreateUserCmdRequest request, CancellationToken cancellationToken)
        {
            _logger.LogInformation("executing create user request handler");

            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var githubResult = await _githubService.GetDeveloper(request.Username, cancellationToken);

            var dbDeveloper = await _developerRepository.Create(githubResult, cancellationToken);

            return(new CreateUserCmdResponse
            {
                Developer = dbDeveloper
            });
        }