Пример #1
0
        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));
        }
Пример #2
0
        public async Task <IActionResult> Post([FromBody] ProdutoInput input)
        {
            var id = await _produtoApplicationService.AddAsync(input);

            if (id <= 0)
            {
                return(BadRequest());
            }

            return(Created(Request.Path, input));
        }
Пример #3
0
        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
                });
            }
        }
Пример #5
0
        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
                }));
            }
        }
Пример #6
0
        public async Task <IHttpActionResult> Post([FromBody] ProdutoInput input)
        {
            await _serviceBase.AddAsync(input);

            return(Created(Request.RequestUri + "/", input));
        }
Пример #7
0
 public async Task <ActionResult <ProdutoOutput> > cadastrarProduto(ProdutoInput param)
 {
     return(Ok(await _service.CadastrarProduto(param)));
 }
Пример #8
0
 public async Task <ProdutoOutput> CadastrarProduto(ProdutoInput produto)
 {
     return(await _repository.CadastrarProduto(produto));
 }