Example #1
0
        public IActionResult Atualizar([FromBody] ProdutoDois produto)
        {
            if (ModelState.IsValid)
            {
                var produtosAtualizados = _repositorio.Atualizar(produto);

                return(Ok(produtosAtualizados));
            }

            return(BadRequest("Falha ao atualizar o produto." + ModelState));
        }
Example #2
0
        public IActionResult ObterValorPrecoVenda([FromBody] ProdutoDois produto)
        {
            if (ModelState.IsValid)
            {
                var precoVenda = new ProdutoDois(produto);

                return(Ok(precoVenda));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Example #3
0
        public IActionResult Criar([FromBody] ProdutoDois produto)
        {
            if (ModelState.IsValid)
            {
                var idProdutoCadastrado = _repositorio.Criar(produto);

                int resultado;

                if (!int.TryParse(idProdutoCadastrado, out resultado))
                {
                    return(BadRequest("Falha no cadastro do produto. Mensagem original: " + idProdutoCadastrado));
                }

                return(Ok("Identificador: " + idProdutoCadastrado));
            }

            return(BadRequest(ModelState));
        }
        public string Atualizar(ProdutoDois produto)
        {
            using (TransactionScope transaction = new TransactionScope())
            {
                try
                {
                    var produtosAtualizados = _connection
                                              .Execute(
                        ProdutoScripts.UPDATE_PRODUTO,
                        new
                    {
                        identificador           = produto.Identificador,
                        descricao               = produto.Descricao,
                        valorVenda              = produto.ValorVenda,
                        tempoMontagem           = produto.TempoMontagem,
                        valorCustoMontagem      = produto.ValorCustoMontagem,
                        valorTotalCustoMontagem = produto.ValorTotalCustoMontagem,
                        possuiComposicao        = produto.PossuiComposicao
                    });

                    if (produto.PossuiComposicao)
                    {
                        _connection.Execute(ProdutoScripts.DELETE_INSUMO, new { identificador = produto.Identificador });
                        _connection.Execute(ProdutoScripts.INSERT_INSUMO, produto.Insumos);
                    }

                    if (produtosAtualizados > 0)
                    {
                        transaction.Complete();
                        return("Produto atualizado com sucesso.");
                    }

                    return("Nenhum produto foi localizado com o identificador informado.");
                }
                catch (SqlException ex)
                {
                    return(ex.Message);
                }
            }
        }
        public string Criar(ProdutoDois produto)
        {
            using (var transaction = new TransactionScope())
            {
                try
                {
                    var identificadorProdutoCadastrado = _connection.QuerySingle <string>(ProdutoScripts.INSERT_PRODUTO, produto);

                    if (produto.PossuiComposicao)
                    {
                        foreach (Insumo insumo in produto.Insumos)
                        {
                            insumo.IdentificadorProdutoPrincipal = identificadorProdutoCadastrado;
                        }

                        _connection.Execute(ProdutoScripts.INSERT_INSUMO, produto.Insumos);
                    }


                    if (produto.CustoReposicao != null)
                    {
                        // foreach (CustoReposicaoProduto custoReposicaoItem in produto.CustoReposicao)
                        // {
                        produto.CustoReposicao.IdentificadorProduto = identificadorProdutoCadastrado;
                        // }

                        _connection.Execute(ProdutoScripts.INSERT_CUSTO_REPOSICAO, produto.CustoReposicao);
                    }

                    transaction.Complete();

                    return(identificadorProdutoCadastrado);
                }
                catch (SqlException ex)
                {
                    return(ex.Message);
                }
            }
        }