public IActionResult Atualizar([FromBody] PilotoModelo pilotoModelo) { try { _logger.LogInformation($"PUT / Atualizar / Id: {pilotoModelo.Id}"); _logger.LogInformation($"Verificando se existe piloto com o id: { pilotoModelo.Id}"); if (!_pilotoRepositorio.Existe(pilotoModelo.Id)) { _logger.LogWarning($"Piloto não encontrado. Id: {pilotoModelo.Id}"); return(NotFound()); } _logger.LogInformation("Mapeando pilotoModelo -> piloto"); var piloto = _mapper.Map <Piloto>(pilotoModelo); _logger.LogInformation($"Atualizando piloto. Id: {piloto.Id}"); _logger.LogInformation($"Nome: {piloto.Nome}"); _logger.LogInformation($"Sobrenome: {piloto.SobreNome}"); _pilotoRepositorio.Atualizar(piloto); //StatusCode 204 //Não retorna nada além do StatusCode _logger.LogInformation($"Atualização de piloto concluída. Id: {piloto.Id}"); return(NoContent()); } catch (Exception e) { _logger.LogError(e.ToString()); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor entre em contato com o suporte")); } }
public IActionResult AdicionarPiloto([FromBody] PilotoModelo pilotoModelo) { try { _logger.LogInformation("Mapeando piloto Modelo"); var piloto = _mapper.Map <Piloto>(pilotoModelo); _logger.LogInformation($"Verificando se existe piloto com o id informado{piloto.Id}"); if (_pilotoRepositorio.Existe(piloto.Id)) { _logger.LogWarning($"Já existe piloto com a mesma identificação{piloto.Id}"); return(StatusCode(409, "Já existe piloto com a mesma identificação ")); } _logger.LogInformation("Adicionando piloto"); _logger.LogInformation($"Nome Piloto:{piloto.Nome}"); _logger.LogInformation($"SobreNome do Piloto:{piloto.SobreNome}"); _pilotoRepositorio.Adicionar(piloto); _logger.LogInformation("Operação Adicionar Piloto ocorreu sem erros"); _logger.LogInformation("Mapeando o retorno"); var pilotoModeloRetorno = _mapper.Map <PilotoModelo>(piloto); _logger.LogInformation("Chamando a rota Obter"); return(CreatedAtRoute("Obter", new { id = piloto.Id }, pilotoModeloRetorno)); }catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor entre em contato com suporte")); } }
[HttpPut] //atualiza totalmente public IActionResult Atualizar([FromBody] PilotoModelo pilotoModelo) { //piloto: instância solta, n é gerenciada pelo entityFramework // se mandar atualizar, o EF n conhece essa instância (hash da instância) // try { if (_pilotoRepository.Existe(pilotoModelo.Id)) { var piloto = _mapper.Map <Piloto>(pilotoModelo); _pilotoRepository.Atualizar(piloto); return(NoContent()); } else { return(NotFound()); } } catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor entre em contato com suporte.")); } }
public IActionResult AdicionarPiloto([FromBody] PilotoModelo pilotoModelo) { try { _logger.LogInformation("Adicionando um piloto.."); //Repassa do modelo para a entidade de domínio de forma automatica. var piloto = _mapper.Map <Piloto>(pilotoModelo); if (_pilotoRepositorio.Existe(piloto.Id)) { return(StatusCode(409, "Já existe um piloto cadastrado com esta identificação")); } _pilotoRepositorio.Adicionar(piloto); var pilotoModeloRetorno = _mapper.Map <PilotoModelo>(piloto); //Retorna o caminho completo do 'recurso' relacionado ao novo piloto inserido e o objeto de modelo vinculado. return(CreatedAtRoute("Obter", new { id = piloto.Id }, pilotoModeloRetorno)); } catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode(500, "Ocorreu uma falha inesperada. Entre em contato com o suporte técnico.")); } }
public IActionResult Atualizar([FromBody] PilotoModelo pilotoModelo) { try { _logger.LogInformation($"Iniciando metodo atualizar PUT para pilotoid {pilotoModelo.Id}"); _logger.LogInformation("Verificando se piloto existe"); if (!_pilotoRepositorio.Existe(pilotoModelo.Id)) { _logger.LogWarning($"PilotoId {pilotoModelo.Id} nao encontrado"); return(NotFound()); } _logger.LogInformation("Mapeando para o modelo"); var piloto = _mapper.Map <Piloto>(pilotoModelo); _logger.LogInformation($"Atualizando o pilotoId {piloto.Id}"); _pilotoRepositorio.Atualizar(piloto); _logger.LogInformation("Operacao finlizada"); return(NoContent()); } catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor entre em contato com suporte.")); } }
public IActionResult Atulizar([FromBody] PilotoModelo pilotoModelo) { try { _logger.LogInformation($"Verificando se o piloto {pilotoModelo.Id} existe na base"); if (!_pilotoRepositorio.Existe(pilotoModelo.Id)) { _logger.LogWarning($"{pilotoModelo.Id} não foi encontrado"); return(NotFound()); } var piloto = _mapper.Map <Piloto>(pilotoModelo); _logger.LogInformation($"Atualizando a base de dados com o pilotoid: {piloto.Id}"); _pilotoRepositorio.Atualizar(piloto); _logger.LogInformation("Finalizada a operação"); return(NoContent()); } catch (Exception ex) { _logger.LogError($"Erro: {ex}"); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor contate o suporte.")); } }
public IActionResult AdicionarPiloto([FromBody] PilotoModelo pilotoModelo) { try { _logger.LogInformation($"POST / AdicionarPiloto / Id: {pilotoModelo.Id}"); //Cria o objeto piloto e passa os dados de forma igual o do objeto pilotoModelo //Isso é usado para não expor a entidade piloto, ao invés disso ele é substituído por um modelo _logger.LogInformation("Mapeando pilotoModelo -> piloto"); var piloto = _mapper.Map <Piloto>(pilotoModelo); _logger.LogInformation($"Verificando se existe piloto com o id: { piloto.Id}"); if (_pilotoRepositorio.Existe(piloto.Id)) { _logger.LogWarning($"Já existe piloto com a mesma identificação: {piloto.Id}"); return(StatusCode(409, "Já existe piloto com a mesma identificação")); } _logger.LogInformation("Adicionando piloto"); _logger.LogInformation($"Nome: { piloto.Nome}"); _logger.LogInformation($"Sobrenome: { piloto.SobreNome}"); _pilotoRepositorio.Adicionar(piloto); _logger.LogInformation("Operação 'Adicionar Piloto' ocorreu sem falhas"); //converte objeto da classe Piloto em objeto da classe PilotoModelo, é o oposto do que é feito no início do método _logger.LogInformation("Mapeando piloto -> pilotoModeloRetorno"); var pilotoModeloRetorno = _mapper.Map <PilotoModelo>(piloto); //O CreatedAtRoute em questão faz: //Informa que o recurso foi criado (StatusCode 201) //Redireciona para o método cujo nome da rota é "Obter" //Passa como parâmetro o id do piloto adicionado //Envia também o objeto piloto _logger.LogInformation("Chamando a rota 'Obter'"); return(CreatedAtRoute("Obter", new { id = piloto.Id }, pilotoModeloRetorno)); } catch (Exception e) { _logger.LogError(e.ToString()); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor entre em contato com o suporte")); } }
public IActionResult AtualizarPiloto([FromBody] PilotoModelo pilotoModelo) { try { var piloto = _mapper.Map <Piloto>(pilotoModelo); if (!_pilotoRepositorio.Existe(piloto.Id)) { return(NotFound()); } _pilotoRepositorio.Atualizar(piloto); //Apenas indica que a operação ocorreu corretamente. return(NoContent()); } catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode(500, "Ocorreu uma falha inesperada. Entre em contato com o suporte técnico.")); } }
public IActionResult AdicionarPiloto([FromBody] PilotoModelo pilotoModelo) { try { /*Piloto piloto = new Piloto(); * piloto.Id = pilotoModelo.Id; * piloto.Nome = pilotoModelo.Nome;*/ _logger.LogInformation("mapeando piloto modelo"); var piloto = _mapper.Map <Piloto>(pilotoModelo); _logger.LogInformation($"verificando se o piloto id == {piloto.Id} existe na base de dados em memória"); if (_pilotoRepository.Existe(piloto.Id)) { _logger.LogWarning($"piloto id = {piloto.Id} já existe."); return(StatusCode(409, "já existe um piloto com este identificador")); } //[FromBody] - como o asp.net core vai receber os dados da requisição (nesse caso do corpo do json) // poderia ser de um formulário, etc _logger.LogInformation($"adicionando piloto id {piloto.Id}"); _pilotoRepository.Adicionar(piloto); _logger.LogInformation("piloto inseriu com sucesso!"); _logger.LogInformation("mapeando piloto inserido para piloto modelo"); var pilotoModeloRetorno = _mapper.Map <PilotoModelo>(piloto); //return Ok("adicionou"); _logger.LogInformation("retornando piloto modelo novo"); return(CreatedAtRoute("Obter", new { id = piloto.Id }, pilotoModeloRetorno)); } catch (Exception ex) { _logger.LogError(ex.ToString()); return(StatusCode(500, "Ocorreu um erro interno no sistema. Por favor entre em contato com suporte.")); } }