private void ConcluirVenda(VendaInfo final)
        {
            foreach (ItemVendaInfo item in colecaoItemVenda)
            {
                if (Form1.Unidade.uniassistencia == EnumAssistencia.Assistencia)
                {
                    //dar baixa no estoque
                    ProdutoInfo produtoInfo = produtoNegocios.ConsultarProdutosId(item.Id);

                    if (vendaEnum == EnumVenda.Taxa) //inserir taxa na tabela
                    {
                        ServicoTaxa = new ServicoOrcamentoInfo();
                        ServicoTaxa.servicoorcamentoidprod    = item.Id;
                        ServicoTaxa.servicoorcamentoquant     = item.Quant;
                        ServicoTaxa.servicoorcamentovalordesc = item.ValorDesc;
                        ServicoTaxa.servicoorcamentovalorunit = item.ValorUnit;
                        ServicoTaxa.servicoorcamentotaxaativo = true;
                    }

                    if (produtoInfo.proControleEstoque == true)
                    {
                        negocioEstoque = new EstoqueNegocios(Form1.Empresa.empconexao, Form1.Unidade.uniassistencia);
                        produtoInfo    = new ProdutoInfo();
                        produtoInfo    = negocioEstoque.ConsultarEstoqueIdProdutoUnid(item.Id, Form1.Unidade.uniid);
                        produtoInfo.prodestoquequant -= item.Quant;

                        if (negocioEstoque.UpdateEstoqueId(produtoInfo) == 0)
                        {
                            FormMessage.ShowMessegeWarning("Falha ao salvar os itens!");
                            return;
                        }

                        MovEstoqueInfo movEstoqueInfo = new MovEstoqueInfo
                        {
                            movestoqueidproduto       = item.Id,
                            movestoqueidtipomovimento = final.venidtipoentrada,
                            movestoquequant           = item.Quant,
                            movestoquevalor           = item.ValorDesc
                        };

                        if (!negocioEstoque.InsertMovEstoque(movEstoqueInfo))
                        {
                            FormMessage.ShowMessegeWarning("Falha ao salvar os itens!");
                            return;
                        }
                    }
                }
            }

            BloquearVenda();
        }
        public bool InsertMovEstoque(MovEstoqueInfo movEstoqueInfo)
        {
            if (accessDbMySql.Conectar())
            {
                accessDbMySql.AddParametrosMySql("@prod", movEstoqueInfo.movestoqueidproduto);
                accessDbMySql.AddParametrosMySql("@tipo", movEstoqueInfo.movestoqueidtipomovimento);
                accessDbMySql.AddParametrosMySql("@quant", movEstoqueInfo.movestoquequant);
                accessDbMySql.AddParametrosMySql("@valor", movEstoqueInfo.movestoquevalor);

                return(accessDbMySql.ExecutarComandoMySql("spInsertMovEstoque"));
            }
            else
            {
                return(false);
            }
        }
        private void SalvarEstoque()
        {
            if (dataGridViewLancarEstoqueDetalhes.RowCount > 0)
            {
                estoqueLancamentoInfo.estoquelancamentovalor = Convert.ToDecimal(labelValorTotal.Text.Replace("R$ ", ""));
                estoqueLancamentoInfo.estoquelancamentoquant = Convert.ToInt32(labelValorTotalQuant.Text);
                Caixa caixa = new Caixa();

                negocioEstoque = new EstoqueNegocios(Form1.Empresa.empconexao, Form1.Unidade.uniassistencia);
                if (negocioEstoque.UpdateEstoqueLancamentoId(estoqueLancamentoInfo) > 0)
                {
                    EntradaSaidaInfo entradaSaidaSalvar = new EntradaSaidaInfo
                    {
                        entracodtodasparcelas = 0,
                        entraconfirmada       = true,
                        entradatalancamento   = DateTime.Now,
                        entradatavenc         = DateTime.Now.Date,
                        entradocumento        = Convert.ToString(estoqueLancamentoInfo.estoquelancamentoid),
                        entraid               = 0,
                        entraidfunc           = Form1.User.useidfuncionario,
                        entraidunidade        = Form1.Unidade.uniid,
                        entranumparcela       = 1,
                        entranumtotalparcelas = 1,
                        entraobs              = "Controle do lançamento do estoque: " + string.Format("{0:00000}", estoqueLancamentoInfo.estoquelancamentoid) + Environment.NewLine +
                                                "Quatidade de itens: " + string.Format("{0:000}", estoqueLancamentoInfo.estoquelancamentoquant) + Environment.NewLine + "Lançado por: " + Form1.User.usenome,
                        entratipocatdecricao = "",
                        entratipoidcat       = 1,
                        entravalor           = estoqueLancamentoInfo.estoquelancamentovalor,
                        entravalorpago       = estoqueLancamentoInfo.estoquelancamentovalor,
                        entraidtipoentrada   = 3,
                        entraparcelado       = false
                    };

                    EntradaSaidaNegocios entradaSaidaNegocios = new EntradaSaidaNegocios(Form1.Empresa.empconexao);
                    if (entradaSaidaNegocios.InsertEntradaSaidaLancamento(entradaSaidaSalvar) == 0)
                    {
                        FormMessage.ShowMessegeWarning("Falha, tente novamente!");
                        return;
                    }

                    foreach (GridLancarEstoqueInfo lancar in gridLancarEstoqueColecao)
                    {
                        if (!InsertDetalhes(lancar))
                        {
                            FormMessage.ShowMessegeWarning("Falha ao tentar salvar!");
                            return;
                        }

                        ProdutoEstoqueInfo estoque = new ProdutoEstoqueInfo
                        {
                            prodestoqueid    = lancar.idestoque,
                            prodestoquequant = lancar.quant
                        };

                        negocioEstoque = new EstoqueNegocios(Form1.Empresa.empconexao, Form1.Unidade.uniassistencia);
                        int cod = negocioEstoque.UpdateEstoqueId(estoque);
                        if (cod > 0)
                        {
                            MovEstoqueInfo movEstoqueInfo = new MovEstoqueInfo
                            {
                                movestoqueidproduto       = lancar.idproduto,
                                movestoqueidtipomovimento = estoqueLancamentoInfo.estoquelancamentoidtipo,
                                movestoquequant           = lancar.quant,
                                movestoquevalor           = lancar.valorUnit
                            };

                            if (!negocioEstoque.InsertMovEstoque(movEstoqueInfo))
                            {
                                FormMessage.ShowMessegeWarning("Falha ao tentar salvar!");
                                return;
                            }
                        }
                        else
                        {
                            FormMessage.ShowMessegeWarning("Falha ao tentar salvar!");
                            return;
                        }
                    }
                }
                else
                {
                    FormMessage.ShowMessegeWarning("Falha ao tentar salvar!");
                    return;
                }

                FormMessage.ShowMessegeInfo("O estoque foi atualizado com sucesso!");

                LimparCampos();
            }
            else
            {
                FormMessage.ShowMessegeWarning("Adicione um produto a lista!");
            }
        }