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);
        }
Exemple #2
0
        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);
        }