示例#1
0
        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)));
        }
示例#2
0
        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());
        }