internal MLPedido CarregarItensPedido(bool isUpdate, bool ChamarBD = false) { try { if (dgvGeral.RowCount > 0) { #region *** Carrega Itens do Pedido *** _lstMLPedidoItem = new List <MLPedidoItem>(); _objMLPedido.ValorTotal = 0; for (int i = 0; i < this.dgvGeral.RowCount; i++) //Carrega Itens o Pedido { //if (dgvGeral.Rows[i].Cells["Descricao"].Value.ToString() == " *** ITEM CANCELADO *** ") // continue; _objMLPedidoItem = new MLPedidoItem(); _objMLPedidoItem.Pedido = _objMLPedido; _objMLPedidoItem.Produto = new MLProduto(); var produtos = new MLProduto() { Descricao = dgvGeral.Rows[i].Cells["Descricao"].Value.ToString() }; var lst = new DLProduto().Listar(produtos); if (lst != null) { _objMLPedidoItem.Produto = lst.FirstOrDefault(); } else { _objMLPedidoItem.Produto = produtos; } if (_objMLPedidoItem.Produto != null) { _objMLPedidoItem.Produto.UnidadeMedida = new MLUnidadeMedida(); } Decimal qtde = 0; if (this.dgvGeral.Rows[i].Cells[1].Value != null /* && this.dgvGeral.Rows[i].Cells[1].Value.ToString() != " *** ITEM CANCELADO *** "*/) { _objMLPedidoItem.ProdutoId = (Int32)this.dgvGeral.Rows[i].Cells["ProdutoId"].Value; bool isDecimal = Decimal.TryParse(this.dgvGeral.Rows[i].Cells["Quantidade"].Value.ToString(), out qtde); if (isDecimal) { _objMLPedidoItem.Quantidade = Convert.ToDecimal(qtde); } _lstMLPedidoItem.Add(_objMLPedidoItem); if (_objMLPedidoItem.Produto != null) { _objMLPedido.ValorTotal += _objMLPedidoItem.Produto.ValorVenda * _objMLPedidoItem.Quantidade; } } } #endregion _objMLPedidoItem.PedidoId = _objMLPedido.PedidoId; _objMLPedido.listaPedidoItem = _lstMLPedidoItem; } } catch (Exception ex) { throw ex; } return(_objMLPedido); }
public List <MLPedido> Listar(MLPedido modelo) { DlConexao con = new DlConexao(); DataTable dt = new DataTable(); List <MLPedido> lst = new List <MLPedido>(); try { con.limparParametros(); if (modelo != null) { if (modelo.PedidoId > 0) { con.AdicionarParametros("@PedidoId", modelo.PedidoId); } if (modelo.UsuarioId > 0) { con.AdicionarParametros("@UsuarioId", modelo.UsuarioId); } if (modelo.FornecedorId > 0) { con.AdicionarParametros("@FornecedorId", modelo.FornecedorId); } if (modelo.ControleMovimentoCaixaId > 0) { con.AdicionarParametros("@ControleMovimentoCaixaId", modelo.ControleMovimentoCaixaId); } con.AdicionarParametros("@Tipo", modelo.Tipo); } dt = con.ExecutarConsulta(CommandType.StoredProcedure, "P_ListarPedido"); for (int i = 0; i < dt.Rows.Count; i++) { MLPedido pedido = new MLPedido(); pedido = Genericos.Popular <MLPedido>(dt, i); if (pedido.Usuario == null) { pedido.Usuario = new MLUsuario(); } if (pedido.Fornecedor == null) { pedido.Fornecedor = new MLFornecedor(); } if (pedido.Transportador == null) { pedido.Transportador = new MLTransportador(); } if (pedido.CondicaoPagamento == null) { pedido.CondicaoPagamento = new MLCondicaoPagamento(); } pedido.Usuario.Nome = Convert.ToString(dt.Rows[i].ItemArray[26]); pedido.Fornecedor.NomeRazaoSocial = Convert.ToString(dt.Rows[i].ItemArray[27]); pedido.Transportador.NomeRazaoSocial = Convert.ToString(dt.Rows[i].ItemArray[28]); pedido.CondicaoPagamento.FormaPgtoEntradaDesc = Convert.ToString(dt.Rows[i].ItemArray[29]); con.limparParametros(); con.AdicionarParametros("@PedidoId", pedido.PedidoId); DataTable dtCompraItens = con.ExecutarConsulta(CommandType.StoredProcedure, "dbo.P_ListarPedidoItens"); if (pedido.listaPedidoItem == null) { pedido.listaPedidoItem = new List <MLPedidoItem>(); } for (int ci = 0; ci < dtCompraItens.Rows.Count; ci++) { MLPedidoItem compraItem = new MLPedidoItem(); compraItem = Genericos.Popular <MLPedidoItem>(dtCompraItens, ci); con.limparParametros(); con.AdicionarParametros("@ProdutoId", compraItem.ProdutoId); DataTable dtProduto = con.ExecutarConsulta(CommandType.StoredProcedure, "dbo.P_ListarProduto"); for (int p = 0; p < dtProduto.Rows.Count; p++) { compraItem.PedidoItemId = Convert.ToInt32(dtProduto.Rows[p].ItemArray[0]); compraItem.Produto.ProdutoId = Convert.ToInt32(dtProduto.Rows[p].ItemArray[0]); compraItem.Produto.Descricao = Convert.ToString(dtProduto.Rows[p].ItemArray[1]); compraItem.Produto.CodigoBarras = Convert.ToString(dtProduto.Rows[p].ItemArray[6]); compraItem.Produto.ValorVenda = Convert.ToDecimal(dtProduto.Rows[p].ItemArray[5]); } pedido.listaPedidoItem.Add(compraItem); } lst.Add(pedido); } } catch (Exception ex) { throw ex; } finally { if (con != null) { con.Dispose(); } con = null; } return(lst); }