Example #1
0
        public IActionResult Put(int id, [FromBody] ClientDtoForUpdate clientData)
        {
            if (clientData == null)
            {
                return(BadRequest());
            }

            var client = _clientRepository.Query(id);

            if (client == null)
            {
                return(NotFound());
            }

            client.FirstName = clientData.FirstName == null ? client.FirstName : clientData.FirstName;
            client.LastName  = clientData.LastName == null ? client.LastName : clientData.LastName;
            client.Email     = clientData.Email == null ? client.Email : clientData.Email;

            _clientRepository.Update(client);
            if (!_clientRepository.Save())
            {
                return(BadRequest());
            }

            return(NoContent());
        }
Example #2
0
        public IActionResult UpdateClient(Guid id, [FromBody] ClientDtoForUpdate clientDto)
        {
            try
            {
                var dbClient = _repository.Client.GetClientById(id);
                if (dbClient.IsEmptyObject())
                {
                    _logger.LogError($"Client with id: {id}, hasn't been found in db.");
                    return(NotFound());
                }

                var client = _autoMapper.Map <Client>(clientDto);
                client.Id = id;

                _repository.Client.UpdateClient(client);
                _repository.Save();

                var response = ResponseHelper.GetSuccessResponse(clientDto, HttpContext.Request.Path.Value,
                                                                 $"Client with id {client.Id} updated successfully");

                return(Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside UpdateClient action: {ex.Message}");
                return(StatusCode(StatusCodes.Status500InternalServerError, "Internal server error"));
            }
        }