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()); }
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")); } }