public async Task <Result <RegistrarNovoUsuarioSolicitanteResponse> > Handle(RegistrarNovoUsuarioSolicitanteCommand request, CancellationToken cancellationToken) { var validarRequestResult = ValidarRequest(request); if (validarRequestResult.IsFailure) { return(Result <RegistrarNovoUsuarioSolicitanteResponse> .Fail(validarRequestResult.Messages)); } var novoUsuarioSolicitante = new UsuarioSolicitante { EmailSolicitante = request.EmailSolicitante, NomeSolicitante = request.NomeSolicitante, TelefoneSolicitante = request.TelefoneSolicitante, CPFSolicitante = request.CPFSolicitante }; var registrarUsuarioSolicitanteResult = await RegistrarUsuarioSolicitante(novoUsuarioSolicitante); if (registrarUsuarioSolicitanteResult.IsFailure) { return(Result <RegistrarNovoUsuarioSolicitanteResponse> .Fail(registrarUsuarioSolicitanteResult.Messages)); } return(Result <RegistrarNovoUsuarioSolicitanteResponse> .Ok(CreateResponse(novoUsuarioSolicitante))); }
private static Result ValidarRequest(RegistrarNovoUsuarioSolicitanteCommand request) { var validator = new RegistrarNovoUsuarioSolicitanteCommandValidator(); var validateResult = validator.Validate(request); if (!validateResult.IsValid) { return(Result.Fail(validateResult.Errors.Select(x => x.ErrorMessage))); } return(Result.Ok()); }