public async Task <ProdutoOutput> PostProduto([FromBody] ProdutoInput produtoInput) { if (!ModelState.IsValid) { return(null); } var produtoInDb = _context.Produtos.FirstOrDefault(p => p.Nome == produtoInput.Nome); if (produtoInDb != null) { return(_mapper.Map <ProdutoOutput>(produtoInDb)); } var depositoInDb = _context.Depositos.Find(produtoInput.DepositoVinculadoId); if (depositoInDb == null) { return(null); // return BadRequest("Depósito vinculado não encontrado"); } var produto = new Produto(produtoInput.Nome, produtoInput.Quantidade, produtoInput.ValorBase, produtoInput.Tipo, 0); _context.Produtos.Add(produto); if (depositoInDb.Produtos == null) { depositoInDb.Produtos = new List <Produto>(); } depositoInDb.Produtos.Add(produto); _context.Depositos.Update(depositoInDb); await _context.SaveChangesAsync(); return(_mapper.Map <ProdutoOutput>(produto)); }
public async Task <IActionResult> Post([FromBody] ProdutoInput input) { var id = await _produtoApplicationService.AddAsync(input); if (id <= 0) { return(BadRequest()); } return(Created(Request.Path, input)); }
public async Task <IActionResult> Put(int id, [FromBody] ProdutoInput input) { try { await _produtoApplicationService.UpdateAsync(id, input); return(Ok()); } catch (Exception ex) { return(BadRequest(ex)); } }
public async Task <ProdutoOutput> CadastrarProduto(ProdutoInput produto) { using (var conn = base.GetConnection()) { conn.Open(); DynamicParameters parameters = new DynamicParameters(); parameters.Add("@ID_Produto", produto.ID_Produto); parameters.Add("@ID_Comerciante", produto.ID_Comerciante); parameters.Add("@Descricao", produto.Descricao); parameters.Add("@Quantidade", produto.Quantidade); parameters.Add("@Preco", produto.Preco); parameters.Add("@Imagem", produto.Imagem); parameters.Add("@ID_Identificador", 0, DbType.Int32, ParameterDirection.Output); parameters.Add("@Return_Code", 0, DbType.Int32, ParameterDirection.Output); parameters.Add("@ErrMsg", 0, DbType.String, ParameterDirection.Output); await conn.ExecuteAsync(sql : "st_ProcProdutoAdicionarAtualizar", param : parameters, commandType : CommandType.StoredProcedure); if (parameters.Get <int>("@Return_Code") > 0) { return(new ProdutoOutput { ID_Produto = 0, Return_Code = parameters.Get <int>("@Return_Code"), ErrMsg = parameters.Get <string>("@ErrMsg"), Descricao = string.Empty, Quantidade = 0, Preco = 0, Imagem = string.Empty }); } return(new ProdutoOutput { ID_Produto = parameters.Get <int>("@ID_Identificador"), Descricao = produto.Descricao, Quantidade = produto.Quantidade, Preco = produto.Preco, Imagem = produto.Imagem, Return_Code = 0, ErrMsg = string.Empty }); } }
public async Task <IActionResult> CreateProduto(ProdutoInput input) { try { var produtoDb = await _produtoRepository.Create(new Produto(input.Nome, input.Fabricante, input.ValorUnidade, input.QtdEstoque)); return(StatusCode(200, produtoDb)); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, new List <string>() { "Ocorreu algum erro no cadastro de um produto.", ex.Message })); } }
public async Task <IHttpActionResult> Post([FromBody] ProdutoInput input) { await _serviceBase.AddAsync(input); return(Created(Request.RequestUri + "/", input)); }
public async Task <ActionResult <ProdutoOutput> > cadastrarProduto(ProdutoInput param) { return(Ok(await _service.CadastrarProduto(param))); }
public async Task <ProdutoOutput> CadastrarProduto(ProdutoInput produto) { return(await _repository.CadastrarProduto(produto)); }