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)); }
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; } }