public static Produto_Pedido salvarProduto_Pedido(Produto_Pedido pedidoProduto)
        {
            List <SqlParameter> listaParametros = new List <SqlParameter>();

            listaParametros.Add(new SqlParameter {
                ParameterName = "@id_pedidoRetorno", SqlDbType = System.Data.SqlDbType.Int, Direction = System.Data.ParameterDirection.Output
            });
            listaParametros.Add(new SqlParameter {
                ParameterName = "@id_produto", SqlDbType = System.Data.SqlDbType.Int, Value = pedidoProduto.prod_id
            });
            listaParametros.Add(new SqlParameter {
                ParameterName = "@id_pedido", SqlDbType = System.Data.SqlDbType.Int, Value = pedidoProduto.ped_id
            });
            listaParametros.Add(new SqlParameter {
                ParameterName = "@quantidade", SqlDbType = System.Data.SqlDbType.Int, Value = pedidoProduto.quantidade
            });


            DataAccessLayer.ExecuteNonQuery(System.Data.CommandType.Text, "INSERT INTO TBL_PRODUTO_PEDIDO(PRO_ID,PED_ID,Quantidade)" +
                                            "VALUES (@id_produto, @id_pedido, @quantidade) SET @id_pedidoRetorno = SCOPE_IDENTITY()", listaParametros);

            var idpedido = 0;

            idpedido             = Convert.ToInt32(listaParametros[2].Value);
            pedidoProduto.ped_id = idpedido;
            return(pedidoProduto);
        }
Пример #2
0
        public async Task <JsonResult> CartAdd(
            [Bind("Id,Quantidade,ProdutoId")] Produto_Pedido produto_Pedido, [Bind("Id,Cliente,Valor,LojaId")] Pedido pedido)
        {
            Estoque itemEstoque = new Estoque();

            itemEstoque = _context.Estoque
                          .Include(m => m.Produto)
                          .Where(m => ((m.LojaId == pedido.LojaId) & (m.ProdutoId == produto_Pedido.ProdutoId))).FirstOrDefault();

            produto_Pedido.PedidoId = pedido.Id;

            Produto_Pedido itemCarrinho = new Produto_Pedido();

            itemCarrinho = _context.Produto_Pedido
                           .Include(m => m.Produto)
                           .Where(m => ((m.PedidoId == pedido.Id) & (m.ProdutoId == produto_Pedido.ProdutoId))).FirstOrDefault();

            if (itemCarrinho != null && produto_Pedido.Quantidade <= itemEstoque.Quantidade)
            {
                if (ModelState.IsValid)
                {
                    itemCarrinho.Quantidade += produto_Pedido.Quantidade;
                    _context.Update(itemCarrinho);
                    await _context.SaveChangesAsync();
                }
                itemEstoque.Quantidade -= produto_Pedido.Quantidade;
                _context.Update(itemEstoque);
                await _context.SaveChangesAsync();
            }

            else if (itemCarrinho == null && produto_Pedido.Quantidade <= itemEstoque.Quantidade)
            {
                if (ModelState.IsValid)
                {
                    _context.Add(produto_Pedido);
                    await _context.SaveChangesAsync();
                }
                itemEstoque.Quantidade -= produto_Pedido.Quantidade;
                _context.Update(itemEstoque);
                await _context.SaveChangesAsync();
            }

            var carrinho = await _context.Produto_Pedido
                           .Include(m => m.Produto)
                           .Where(m => m.PedidoId == produto_Pedido.PedidoId).ToListAsync();

            foreach (var item in carrinho)
            {
                pedido.Valor += item.Produto.Valor * item.Quantidade;
            }

            pedido.Data = DateTime.Now;
            _context.Update(pedido);
            await _context.SaveChangesAsync();

            return(new JsonResult(carrinho));
        }
Пример #3
0
        public Produto_Pedido CarregaProdutoporId(int idPedidoProduto, ref string erro)
        {
            try
            {
                using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["OracleConnection"].ConnectionString))
                {
                    string query = @"SELECT PKNI018_IDPRODUTO_PEDIDO,
                                            ATSD018_DATAPEDIDO,
                                            ATSF018_OBSERVACAO,
                                            ATDC018_QUANTIDADE,
                                            ATDC018_VALORPREVISTO,
                                            FKNI018_IDPRODUTO,
                                            TB2.ATSF003_DESCRICAO,
                                            FKNI018_IDPEDIDOCOMPRA,
                                            FKNI018_IDFORNECEDOR
                                        FROM ALC018T_PRODUTO_PEDIDO TB1
                                        INNER JOIN ALC003T_PRODUTO TB2
                                        ON TB1.FKNI018_IDPRODUTO = TB2.PKNI003_IDPRODUTO
                                        WHERE PKNI018_IDPRODUTO_PEDIDO = :IDPRODUTO_PEDIDO";

                    conn.Open();

                    using (OracleCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = query;
                        cmd.Parameters.Add(":IDPRODUTO_PEDIDO", idPedidoProduto);

                        using (OracleDataReader reader = cmd.ExecuteReader())
                        {
                            if (reader.Read())
                            {
                                Produto_Pedido objProduto = new Produto_Pedido();

                                objProduto.IdProdutoPedido = Convert.ToInt32(reader["PKNI018_IDPRODUTO_PEDIDO"]);
                                objProduto.IdProduto       = Convert.ToInt32(reader["FKNI018_IDPRODUTO"]);
                                objProduto.IdFornecedor    = (reader["FKNI018_IDFORNECEDOR"] == DBNull.Value) ? 0 : Convert.ToInt32(reader["FKNI018_IDFORNECEDOR"]);
                                objProduto.Observacao      = reader["ATSF018_OBSERVACAO"].ToString();
                                objProduto.ValorPrevisto   = (reader["ATDC018_VALORPREVISTO"] == DBNull.Value) ? 0 : Convert.ToDouble(reader["ATDC018_VALORPREVISTO"]);
                                objProduto.Quantidade      = (reader["ATDC018_QUANTIDADE"] == DBNull.Value) ? 0 : Convert.ToDecimal(reader["ATDC018_QUANTIDADE"]);

                                return(objProduto);
                            }
                            return(null);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                erro = ex.Message;
                return(null);
            }
        }
        private void btnFazerPedido_Click(object sender, EventArgs e)
        {
            Pedido         pedido  = new Pedido();
            Produto_Pedido pro_ped = new Produto_Pedido();

            pedido.cod_cli     = cliente.id;
            pedido.data_pedido = Convert.ToDateTime(lbData.Text);
            pedido             = PedidoNegocio.salvarPedido(pedido);
            pro_ped.ped_id     = pedido.cod_ped;
            pro_ped.prod_id    = Convert.ToInt32(cbxProdutos.ValueMember);
            pro_ped.quantidade = Convert.ToInt32(txbQuantidade.Value);
            PedidoNegocio.salvarProduto_Pedido(pro_ped);
            GridViewComPedidosNaoFinalizados();
        }
        protected void gvProdutos_SelectedIndexChanged(object sender, EventArgs e)
        {
            PedidoCompraDAL dbPedidoCompra  = new PedidoCompraDAL();
            Produto_Pedido  objPedidoCompra = dbPedidoCompra.CarregaProdutoporId(Convert.ToInt32(gvProdutos.SelectedDataKey.Value), ref erro);

            if (objPedidoCompra != null)
            {
                ddlProduto.SelectedValue    = objPedidoCompra.IdProduto.ToString();
                ddlFornecedor.SelectedValue = (objPedidoCompra.IdFornecedor == 0) ? "Selecione" : objPedidoCompra.IdFornecedor.ToString();
                txtQuantidade.Text          = objPedidoCompra.Quantidade.ToString();
                txtValorPrevisto.Text       = objPedidoCompra.ValorPrevisto.ToString();
                txtObservacao.Text          = objPedidoCompra.Observacao;
                hfIdPedido.Value            = objPedidoCompra.IdProdutoPedido.ToString();
            }

            if (erro != "")
            {
                Session.Add("danger", "Erro. " + erro);
            }
        }