Esempio n. 1
0
        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"));
            }
        }
Esempio n. 2
0
        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"));
            }
        }
Esempio n. 3
0
        [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."));
            }
        }
Esempio n. 4
0
        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."));
            }
        }
Esempio n. 5
0
        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."));
            }
        }
Esempio n. 6
0
        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."));
            }
        }
Esempio n. 7
0
        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"));
            }
        }
Esempio n. 8
0
        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."));
            }
        }
Esempio n. 9
0
        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."));
            }
        }