public async Task <IActionResult> PostProduto(ProdutoModelo produtoModelo) { try { NewLog(nameof(PostProduto), 0); var produto = _mapper.Map <Produto>(produtoModelo); produto.DataCadastro = DateTime.Now; produto.CategoriaId = produto.Categoria.Id; produto.Categoria = null; NewLog(nameof(PostProduto), 3, "iniciando metodo adicionar repositorio"); if (await _repositorio.AdicionarAsync(produto)) { NewLog(nameof(PostProduto), 3, "Adicionado com sucesso, fazendo o mapeamento."); var produtoModeloRetorno = _mapper.Map <ProdutoModelo>(produto); NewLog(nameof(PostProduto), 1); return(CreatedAtAction("GetProduto", new { id = produto.Id }, produtoModeloRetorno)); } NewLog(nameof(PostProduto), 2, "Metodo adicionar repositorio retornou false"); return(BadRequest()); } catch (Exception ex) { return(ErrorException(ex, nameof(PostProduto))); } }