private void AddNovoItem()
        {
            if (produtoInfo != null)
            {
                decimal quant = Convert.ToDecimal(textBoxQuant.Text);

                GridLancarEstoqueInfo gridLancarEstoqueInfo = new GridLancarEstoqueInfo
                {
                    descricao  = produtoInfo.prodetalhes,
                    id         = estoqueLancamentoInfo.estoquelancamentoid,
                    idproduto  = produtoInfo.proId,
                    idestoque  = produtoInfo.prodestoqueid,
                    quant      = quant,
                    valorTotal = quant * produtoInfo.proValorCompra,
                    valorUnit  = produtoInfo.proValorCompra
                };

                if (gridLancarEstoqueColecao.Count > 0)
                {
                    for (int i = 0; i < gridLancarEstoqueColecao.Count; i++)
                    {
                        if (gridLancarEstoqueColecao[i].idproduto == gridLancarEstoqueInfo.idproduto)
                        {
                            gridLancarEstoqueInfo.quant     += gridLancarEstoqueColecao[i].quant;
                            gridLancarEstoqueInfo.valorTotal = gridLancarEstoqueInfo.quant * gridLancarEstoqueInfo.valorUnit;
                            gridLancarEstoqueColecao.RemoveAt(i);
                        }
                    }
                }

                GridLancarEstoqueColecao novo = new GridLancarEstoqueColecao();
                novo.Add(gridLancarEstoqueInfo);

                for (int i = 0; i < gridLancarEstoqueColecao.Count; i++)
                {
                    novo.Add(gridLancarEstoqueColecao[i]);
                }

                gridLancarEstoqueColecao = novo;
            }

            PreencherGrid();
            textBoxProdutoCod.Clear();
            textBoxProdutoCod.Select();
            LimparProduto();
            buttonConfirmar.Enabled = true;
            buttonRemover.Enabled   = true;
            buttonAddItem.Enabled   = false;
            labelRemover.ForeColor  = Color.Red;
        }
        private void PreencherGrid()
        {
            if (produtoInfo != null)
            {
                int quant = Convert.ToInt32(textBoxQuant.Text);

                GridLancarEstoqueInfo gridLancarEstoqueInfo = new GridLancarEstoqueInfo
                {
                    descricao  = string.IsNullOrEmpty(produtoInfo.proCodBarras)? produtoInfo.prodetalhes : produtoInfo.proCodBarras + " - " + produtoInfo.prodetalhes,
                    idestoque  = estoqueContarInfo.estoquecontarid,
                    idproduto  = produtoInfo.proId,
                    quant      = quant,
                    valorTotal = quant * produtoInfo.proValorCompra,
                    valorUnit  = produtoInfo.proValorCompra,
                };

                if (gridLancarEstoqueColecao.Count > 0)
                {
                    for (int i = 0; i < gridLancarEstoqueColecao.Count; i++)
                    {
                        if (gridLancarEstoqueColecao[i].idproduto == gridLancarEstoqueInfo.idproduto)
                        {
                            gridLancarEstoqueInfo.quant     += gridLancarEstoqueColecao[i].quant;
                            gridLancarEstoqueInfo.valorTotal = gridLancarEstoqueInfo.quant * gridLancarEstoqueInfo.valorUnit;
                            gridLancarEstoqueColecao.RemoveAt(i);
                        }
                    }
                }

                EstoqueContarDetalhesInfo estoquecontar = new EstoqueContarDetalhesInfo
                {
                    estoquecontardetalhesid        = gridLancarEstoqueInfo.id,
                    estoquecontardetalhesidcontar  = gridLancarEstoqueInfo.idestoque,
                    estoquecontardetalhesidproduto = gridLancarEstoqueInfo.idproduto,
                    estoquecontardetalhesquant     = gridLancarEstoqueInfo.quant,
                    estoquecontardetalhesvalor     = gridLancarEstoqueInfo.valorUnit
                };

                EstoqueContarDetalhesInfo contar = negocioEstoque.ConsultarEstoqueContarDetalhesIdProd(gridLancarEstoqueInfo.idproduto, gridLancarEstoqueInfo.id);

                if (contar != null)
                {
                    estoquecontar.estoquecontardetalhesid = contar.estoquecontardetalhesid;
                    negocioEstoque.UpdateEstoqueContarDetalhes(estoquecontar);
                }
                else
                {
                    negocioEstoque.InsertEstoqueContarDetalhes(estoquecontar);
                }

                GridLancarEstoqueColecao novo = new GridLancarEstoqueColecao
                {
                    gridLancarEstoqueInfo
                };

                for (int i = 0; i < gridLancarEstoqueColecao.Count; i++)
                {
                    novo.Add(gridLancarEstoqueColecao[i]);
                }

                gridLancarEstoqueColecao = novo;
            }

            PreencherGridDataSource();
        }