Пример #1
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"));
            }
        }
Пример #2
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."));
            }
        }
Пример #3
0
 public IActionResult AdicionarPiloto([FromBody] Piloto piloto)
 {
     try
     {
         if (_pilotoRepositorio.Existe(piloto.Id))
         {
             return(StatusCode(409, "Pilo já existe com essa identificação!"));
         }
         _pilotoRepositorio.Adicionar(piloto);
         return(CreatedAtRoute("Obter", new { id = piloto.Id }, piloto));
     }
     catch (Exception)
     {
         return(StatusCode(500, "Erro no servidor!"));
     }
 }
Пример #4
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"));
            }
        }