private static Result ValidarRequest(RegistrarPreCadastroUsuarioCommand request) { if (request == null) { return(Result.Fail(nameof(request))); } var requestValidator = new RegistrarPreCadastroUsuarioCommandValidator(); var resultValidator = requestValidator.Validate(request); if (!resultValidator.IsValid) { return(Result.Fail(resultValidator.Errors.Select(x => x.ErrorMessage))); } return(Result.Ok()); }
public async Task <Result <RegistrarPreCadastroUsuarioResponse> > Handle(RegistrarPreCadastroUsuarioCommand request, CancellationToken cancellationToken) { var validarRequestResult = ValidarRequest(request); if (validarRequestResult.IsFailure) { return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(validarRequestResult.Messages)); } var verificarUsuarioJaCadastroResult = await VerificarUsuarioJaCadastrado(request); if (verificarUsuarioJaCadastroResult.IsFailure) { return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(verificarUsuarioJaCadastroResult.Messages)); } if (verificarUsuarioJaCadastroResult.Value != SituacaoCadastroUsuario.UsuarioNaoCadastrado) { return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(verificarUsuarioJaCadastroResult.Value.ToString())); } var novoUsuario = new Usuario { Nome = request.NomeUsuario, CPF = request.CpfUsuario, Email = request.EmailUsuario, Telefone = request.TelefoneUsuario, }; var registrarNovoUsuarioResult = await RegistrarNovoUsuario(novoUsuario); if (registrarNovoUsuarioResult.IsFailure) { return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(registrarNovoUsuarioResult.Messages)); } var registrarRequisicaoCriacaoSenhaResponse = await _mediator.Send(new RegistrarRequisicaoCriacaoSenhaCommand(novoUsuario.UsuarioId), cancellationToken); if (registrarRequisicaoCriacaoSenhaResponse.IsFailure) { return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(registrarRequisicaoCriacaoSenhaResponse.Messages)); } return(Result <RegistrarPreCadastroUsuarioResponse> .Ok(CriarResponse(novoUsuario))); }
private async Task <Result <SituacaoCadastroUsuario> > VerificarUsuarioJaCadastrado(RegistrarPreCadastroUsuarioCommand request) { try { var verificarUsuarioJaCadastroResult = await _usuarioServico.VerificarUsuarioJaCadastrado(request.CpfUsuario, request.EmailUsuario); if (verificarUsuarioJaCadastroResult.IsFailure) { return(Result <SituacaoCadastroUsuario> .Fail(verificarUsuarioJaCadastroResult.Messages)); } return(Result <SituacaoCadastroUsuario> .Ok(verificarUsuarioJaCadastroResult.Value)); } catch (Exception ex) { return(Result <SituacaoCadastroUsuario> .Fail("")); } }