コード例 #1
0
        private async Task <ResponseMessage> RegisterCandidate(RegisteredUserIntegrationEvent message)
        {
            var candidateCommand     = new RegisterCandidateCommand(message.Id, message.CPF, message.FirstName, message.LastName, message.Email, message.BirthDate, message.Gender);
            ValidationResult success = null;

            using (var scope = _serviceProvider.CreateScope())
            {
                var mediator = scope.ServiceProvider.GetRequiredService <IMediatorHandler>();
                success = await mediator.SendCommand(candidateCommand);
            }

            return(new ResponseMessage(success));
        }
コード例 #2
0
        private async Task <ResponseMessage> RegisterCandidate(RegisterUserViewModel userRegister)
        {
            var user = await _userManager.FindByEmailAsync(userRegister.Email);

            var RegisteredUser = new RegisteredUserIntegrationEvent(Guid.Parse(user.Id),
                                                                    userRegister.CPF,
                                                                    userRegister.FirstName,
                                                                    userRegister.LastName,
                                                                    userRegister.Email,
                                                                    userRegister.BirthDate,
                                                                    userRegister.Gender);

            try
            {
                return(await _bus.RequestAsync <RegisteredUserIntegrationEvent, ResponseMessage>(RegisteredUser));
            }
            catch
            {
                await _userManager.DeleteAsync(user);

                NotifierError("Erro ao criar candidato.");
                throw;
            }
        }