コード例 #1
0
        public async Task <IActionResult> PutProduto(int id, ProdutoModelo produtoModelo)
        {
            try
            {
                NewLog(nameof(PutProduto), 1, $"Id: {id}");
                var produto = await _repositorio.GetProdutoByIdAsync(id);

                if (produto != null)
                {
                    NewLog(nameof(PutProduto), 3, $"Id: {id} iniciando mapeamento");
                    _ = _mapper.Map(produtoModelo, produto);

                    NewLog(nameof(PutProduto), 3, $"Id: {id} iniciando repositorio atualizar");
                    if (await _repositorio.AtualizarAsync(produto))
                    {
                        NewLog(nameof(PutProduto), 1, $"Id: {id}");
                        return(NoContent());
                    }
                    else
                    {
                        NewLog(nameof(PutProduto), 2, $"Id: {id} metodo repositorio retornou false");
                        return(BadRequest());
                    }
                }

                NewLog(nameof(PutProduto), 2, $"Id: {id} nao encontrado");
                return(NotFound());
            }
            catch (Exception ex)
            {
                return(ErrorException(ex, nameof(PutProduto), id));
            }
        }