コード例 #1
0
        public IActionResult EditarConta([FromBody] EditarClienteDTO model)
        {
            _logger.LogDebug("A executar api/cliente/editar -> Post");
            if (model is null)
            {
                _logger.LogWarning("O objeto EditarClienteDTO é null!");
                return(BadRequest(nameof(model)));
            }

            try
            {
                string        nameIdentifier = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
                int           idCliente      = int.Parse(nameIdentifier);
                ServiceResult resultado      = _clienteBusiness.EditarConta(idCliente, model);
                if (resultado.Sucesso)
                {
                    _logger.LogInformation($"O {model.Nome}, com Email {model.Email} e Número de Telemóvel {model.NumTelemovel} editou a sua conta com sucesso.");
                    return(Ok());
                }
                else
                {
                    _logger.LogInformation($"Ocorreu um erro ao efetuar a edição do Cliente com IdCliente {idCliente}.");
                    return(BadRequest(resultado.Erros));
                }
            }
            catch (ArgumentNullException e)
            {
                _logger.LogError(e, e.Message);
                return(BadRequest(new { message = e.Message }));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(StatusCode(500));
            }
        }