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); }
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)); }
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); } }