示例#1
0
        private void BtnEnviar_Click(object sender, EventArgs e)
        {
            if (int.Parse(LstFilial.SelectedValue.ToString()) == 0)
            {
                MessageBox.Show("Atenção: Selecione o Local Origem", "Selecionar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (MessageBox.Show("Confirma o Sincronismo das Notas ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                SqlConnection ServidorOrigem;
                Filiais       FilialOrigem = new Filiais();
                FilialOrigem.Controle = Controle;
                FilialOrigem.LerDados(int.Parse(LstFilial.SelectedValue.ToString()));

                try
                {
                    if (FrmPrincipal.VersaoDistribuidor)
                    {
                        ServidorOrigem = new SqlConnection("Data Source=" + FilialOrigem.ServidorRemoto + FilialOrigem.Porta + "; Initial Catalog=BD_ERP_SGE; User ID=Distribuidor; Password=systalimpo; MultipleActiveResultSets=True;");
                    }
                    else
                    {
                        ServidorOrigem = new SqlConnection("Data Source=" + FilialOrigem.ServidorRemoto + FilialOrigem.Porta + "; Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;");
                    }
                    ServidorOrigem.Open();
                }
                catch
                {
                    MessageBox.Show("Atenção: Ocorreu um erro ao conectar ao servidor origem, tente novamente", "Conclusão", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    BtnEnviar.Enabled = true;
                    return;
                }

                Funcoes ControleOrigem = new Funcoes();
                ControleOrigem.Conexao = ServidorOrigem;

                Controles.Verificar VerifCad = new Verificar();
                VerifCad.Controle = Controle;
                //
                BtnEnviar.Enabled = false;
                ProcBar.Value     = 0;
                Application.DoEvents();

                NotaFiscal Nota = new NotaFiscal();
                Nota.Controle = Controle;
                NotaFiscalItens ItensNota = new NotaFiscalItens();
                ItensNota.Controle = Controle;

                try
                {
                    DataSet ConsNota = new DataSet();
                    ConsNota = ControleOrigem.ConsultaTabela("SELECT T2.CNPJ,T1.* FROM NOTAFISCAL T1 LEFT JOIN PESSOAS T2 ON (T2.ID_PESSOA=T1.ID_PESSOA) WHERE T1.NFE=1 AND T1.Status<>0 AND T1.DTEMISSAO >= Convert(DateTime,'" + Dt1.Value.Date.ToString() + "',103) AND T1.DTEMISSAO <= Convert(DateTime,'" + Dt2.Value.Date.ToString() + "',103)");
                    int IdPessoa = 0;
                    int IdNota   = 0;

                    Produtos CadPrd = new Produtos();
                    CadPrd.Controle = Controle;
                    DataSet ConsItens = new DataSet();

                    if (ConsNota.Tables[0].Rows.Count > 0)
                    {
                        ProcBar.Maximum = ConsNota.Tables[0].Rows.Count;
                        ProcBar.Value   = 0;
                        for (int I = 0; I <= ConsNota.Tables[0].Rows.Count - 1; I++)
                        {
                            IdPessoa = VerifCad.Verificar_ExisteCadastro("ID_PESSOA", "SELECT ID_PESSOA FROM Pessoas WHERE Cnpj='" + ConsNota.Tables[0].Rows[I]["CNPJ"].ToString().Trim() + "'");

                            if (IdPessoa == 0)
                            {
                                MessageBox.Show("Atenção: Destinatario da Nota:" + ConsNota.Tables[0].Rows[I]["NumNota"].ToString().Trim() + " de CNPJ/CPF:" + ConsNota.Tables[0].Rows[I]["CNPJ"].ToString().Trim() + " não localizada no Servidor, Favor verificar a nota no servidor Origem ", "Conclusão", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                ProcBar.Value = ProcBar.Value + 1;
                                continue;
                            }

                            IdNota = VerifCad.Verificar_ExisteCadastro("ID_NOTA", "SELECT ID_NOTA FROM NOTAFISCAL WHERE NUMNOTA=" + ConsNota.Tables[0].Rows[I]["NUMNOTA"].ToString() + " AND ID_FILIAL=" + ConsNota.Tables[0].Rows[I]["Id_Filial"].ToString() + " AND NFE=" + ConsNota.Tables[0].Rows[I]["NFE"].ToString());

                            Nota.LerDados(IdNota);

                            if (Nota.Status == 0)
                            {
                                Nota.Data             = DateTime.Parse(ConsNota.Tables[0].Rows[I]["DATA"].ToString());
                                Nota.IdFilial         = int.Parse(ConsNota.Tables[0].Rows[I]["Id_Filial"].ToString());
                                Nota.IdPessoa         = IdPessoa;
                                Nota.IdCfop           = int.Parse(ConsNota.Tables[0].Rows[I]["Id_Cfop"].ToString());
                                Nota.IdTransportadora = int.Parse(ConsNota.Tables[0].Rows[I]["Id_Transportadora"].ToString());
                                Nota.Frete            = int.Parse(ConsNota.Tables[0].Rows[I]["Frete"].ToString());
                                Nota.EntSaida         = int.Parse(ConsNota.Tables[0].Rows[I]["EntSaida"].ToString());
                                Nota.DtEmissao        = DateTime.Parse(ConsNota.Tables[0].Rows[I]["DTEMISSAO"].ToString());
                                Nota.NumFormulario    = int.Parse(ConsNota.Tables[0].Rows[I]["NumFormulario"].ToString());
                                Nota.NumNota          = int.Parse(ConsNota.Tables[0].Rows[I]["NumNota"].ToString());
                                Nota.ProtocoloNfe     = ConsNota.Tables[0].Rows[I]["ProtocoloNFE"].ToString().Trim();
                                Nota.ChaveNfe         = ConsNota.Tables[0].Rows[I]["ChaveNFE"].ToString().Trim();
                                Nota.ReciboNfe        = ConsNota.Tables[0].Rows[I]["ReciboNfe"].ToString().Trim();
                                Nota.VlrProdutos      = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrProdutos"].ToString());
                                Nota.VlrNota          = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrNota"].ToString());
                                Nota.VlrDesconto      = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrDesconto"].ToString());
                                Nota.BIcms            = decimal.Parse(ConsNota.Tables[0].Rows[I]["BIcms"].ToString());
                                Nota.VlrIcms          = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrIcms"].ToString());
                                Nota.BIcmsSub         = decimal.Parse(ConsNota.Tables[0].Rows[I]["BIcmsSub"].ToString());
                                Nota.VlrIcmsSub       = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrIcmsSub"].ToString());
                                Nota.VlrFrete         = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrFrete"].ToString());
                                Nota.VlrSeguro        = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrSeguro"].ToString());
                                Nota.VlrOutraDesp     = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrOutraDesp"].ToString());
                                Nota.VlrIpi           = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrIpi"].ToString());
                                Nota.Observacao       = ConsNota.Tables[0].Rows[I]["Observacao"].ToString().Trim();
                                Nota.Status           = int.Parse(ConsNota.Tables[0].Rows[I]["Status"].ToString());
                                Nota.NFE          = int.Parse(ConsNota.Tables[0].Rows[I]["NFE"].ToString());
                                Nota.QtdeVolume   = int.Parse(ConsNota.Tables[0].Rows[I]["QtdeVolume"].ToString());
                                Nota.Especie      = ConsNota.Tables[0].Rows[I]["Especie"].ToString();
                                Nota.Marca        = ConsNota.Tables[0].Rows[I]["Marca"].ToString();
                                Nota.PesoBruto    = decimal.Parse(ConsNota.Tables[0].Rows[I]["PesoBruto"].ToString());
                                Nota.PesoLiquido  = decimal.Parse(ConsNota.Tables[0].Rows[I]["PesoLiquido"].ToString());
                                Nota.NmPessoa     = ConsNota.Tables[0].Rows[I]["RazaoSocial"].ToString();
                                Nota.CnpjCpf      = ConsNota.Tables[0].Rows[I]["CnpjCpf"].ToString();
                                Nota.InscUf       = ConsNota.Tables[0].Rows[I]["Insc_UF"].ToString();
                                Nota.Cep          = ConsNota.Tables[0].Rows[I]["Cep"].ToString();
                                Nota.Endereco     = ConsNota.Tables[0].Rows[I]["Endereco"].ToString();
                                Nota.Numero       = ConsNota.Tables[0].Rows[I]["Numero"].ToString();
                                Nota.Bairro       = ConsNota.Tables[0].Rows[I]["Bairro"].ToString();
                                Nota.Compl        = ConsNota.Tables[0].Rows[I]["Complemento"].ToString();
                                Nota.Cidade       = ConsNota.Tables[0].Rows[I]["Cidade"].ToString();
                                Nota.IdUf         = int.Parse(ConsNota.Tables[0].Rows[I]["ID_Uf"].ToString());
                                Nota.Telefone     = ConsNota.Tables[0].Rows[I]["Telefone"].ToString();
                                Nota.VlrAcrescimo = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrAcrescimo"].ToString());
                                Nota.ProtocoloNfe = ConsNota.Tables[0].Rows[I]["ProtocoloNFE"].ToString();
                                Nota.ChaveNfe     = ConsNota.Tables[0].Rows[I]["ChaveNfe"].ToString();
                                Nota.ReciboNfe    = ConsNota.Tables[0].Rows[I]["ReciboNfe"].ToString();
                                Nota.VlrAcrescimo = decimal.Parse(ConsNota.Tables[0].Rows[I]["VlrAcrescimo"].ToString());
                                Nota.Consumidor   = int.Parse(ConsNota.Tables[0].Rows[I]["Consumidor"].ToString());
                                Nota.Atendimento  = int.Parse(ConsNota.Tables[0].Rows[I]["Atendimento"].ToString());
                                Nota.DestOperacao = int.Parse(ConsNota.Tables[0].Rows[I]["DestOperacao"].ToString());
                                Nota.Finalidade   = int.Parse(ConsNota.Tables[0].Rows[I]["Finalidade"].ToString());
                                Nota.ChaveNfeDev  = ConsNota.Tables[0].Rows[I]["ChaveNfeDev"].ToString();
                                Nota.NatOp        = int.Parse(ConsNota.Tables[0].Rows[I]["NatOp"].ToString());
                                Nota.GravarDados();

                                Controle.ExecutaSQL("UPDATE NotaFiscal Set Protocolonfe='" + ConsNota.Tables[0].Rows[I]["ProtocoloNFE"].ToString() + "',ChaveNfe='" + ConsNota.Tables[0].Rows[I]["ChaveNfe"].ToString() + "',ReciboNfe='" + ConsNota.Tables[0].Rows[I]["ReciboNfe"].ToString() + "' Where Id_Nota=" + Nota.IdNota.ToString());

                                if (int.Parse(ConsNota.Tables[0].Rows[I]["Status"].ToString()) == 2)
                                {
                                    Controle.ExecutaSQL("UPDATE NotaFiscal Set Status=2,DataCancel=convert(DateTime,'" + ConsNota.Tables[0].Rows[I]["DATACANCEL"].ToString() + "',103),ProtocoloCanc='" + ConsNota.Tables[0].Rows[I]["ProtocoloCanc"].ToString() + "' Where Id_Nota=" + Nota.IdNota.ToString());
                                }


                                // Incluindo os Itens
                                ConsItens = ControleOrigem.ConsultaTabela("SELECT T2.REFERENCIA,T1.* FROM NOTAFISCALITENS T1 LEFT JOIN PRODUTOS T2 ON (T2.ID_PRODUTO=T1.ID_PRODUTO) WHERE T1.ID_NOTA=" + ConsNota.Tables[0].Rows[I]["ID_Nota"].ToString());
                                if (ConsItens.Tables[0].Rows.Count > 0)
                                {
                                    FrmPrincipal.BSta_BarProcesso.Maximum = ConsItens.Tables[0].Rows.Count;
                                    for (int B = 0; B <= ConsItens.Tables[0].Rows.Count - 1; B++)
                                    {
                                        CadPrd.LerDados(ConsItens.Tables[0].Rows[B]["Referencia"].ToString().Trim());
                                        if (CadPrd.IdProduto > 0)
                                        {
                                            ItensNota.LerDados(0);
                                            ItensNota.IdNota        = Nota.IdNota;
                                            ItensNota.IdProduto     = CadPrd.IdProduto;
                                            ItensNota.Qtde          = decimal.Parse(ConsItens.Tables[0].Rows[B]["Qtde"].ToString());
                                            ItensNota.VlrUnitario   = decimal.Parse(ConsItens.Tables[0].Rows[B]["VlrUnitario"].ToString());
                                            ItensNota.VlrTotal      = decimal.Parse(ConsItens.Tables[0].Rows[B]["VlrTotal"].ToString());
                                            ItensNota.PIpi          = decimal.Parse(ConsItens.Tables[0].Rows[B]["PIPI"].ToString());
                                            ItensNota.VlrIpi        = decimal.Parse(ConsItens.Tables[0].Rows[B]["VlrIpi"].ToString());
                                            ItensNota.VlrIcms       = decimal.Parse(ConsItens.Tables[0].Rows[B]["VlrIcms"].ToString());
                                            ItensNota.PIcms         = decimal.Parse(ConsItens.Tables[0].Rows[B]["PIcms"].ToString());
                                            ItensNota.PIcmsSub      = decimal.Parse(ConsItens.Tables[0].Rows[B]["PIcmsSub"].ToString());
                                            ItensNota.VlrIcmsSub    = decimal.Parse(ConsItens.Tables[0].Rows[B]["VlrIcmsSub"].ToString());
                                            ItensNota.PercRed       = decimal.Parse(ConsItens.Tables[0].Rows[B]["PercRed"].ToString());
                                            ItensNota.SitTributaria = int.Parse(ConsItens.Tables[0].Rows[B]["SitTributaria"].ToString());
                                            ItensNota.IdCfop        = int.Parse(ConsItens.Tables[0].Rows[B]["Id_Cfop"].ToString());
                                            ItensNota.IdReducao     = int.Parse(ConsItens.Tables[0].Rows[B]["Id_Reducao"].ToString());
                                            ValidarCST(Nota, ItensNota);
                                            ItensNota.GravarDados();
                                        }
                                        else
                                        {
                                            MessageBox.Show("Atenção: Produto:" + ConsItens.Tables[0].Rows[B]["Referencia"].ToString().Trim() + " não localizada no Servidor, Favor verificar a nota no servidor Origem ", "Conclusão", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                            Nota.Status = 0;
                                            Nota.GravarDados();
                                            BtnEnviar.Enabled = true;
                                            return;
                                        }
                                        FrmPrincipal.BSta_BarProcesso.Maximum = FrmPrincipal.BSta_BarProcesso.Maximum + 1;
                                    }
                                }
                                Nota.GravarDados();
                            }
                            else
                            {
                                Nota.GravarDados();
                                if (int.Parse(ConsNota.Tables[0].Rows[I]["Status"].ToString()) == 1)
                                {
                                    Controle.ExecutaSQL("UPDATE NotaFiscal Set Protocolonfe='" + ConsNota.Tables[0].Rows[I]["ProtocoloNFE"].ToString() + "',ChaveNfe='" + ConsNota.Tables[0].Rows[I]["ChaveNfe"].ToString() + "',ReciboNfe='" + ConsNota.Tables[0].Rows[I]["ReciboNfe"].ToString() + "' Where Id_Nota=" + IdNota.ToString());
                                }

                                if (int.Parse(ConsNota.Tables[0].Rows[I]["Status"].ToString()) == 2)
                                {
                                    Controle.ExecutaSQL("UPDATE NotaFiscal Set Status=2,DataCancel=convert(DateTime,'" + ConsNota.Tables[0].Rows[I]["DATACANCEL"].ToString() + "',103),ProtocoloCanc='" + ConsNota.Tables[0].Rows[I]["ProtocoloCanc"].ToString() + "' Where Id_Nota=" + IdNota.ToString());
                                }
                            }
                            ProcBar.Value = ProcBar.Value + 1;
                            Application.DoEvents();
                        }
                    }
                    MessageBox.Show("Processo concluido", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    BtnEnviar.Enabled = true;
                    return;
                }
                catch (Exception erro)
                {
                    MessageBox.Show("Erro: " + erro.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    BtnEnviar.Enabled = true;
                    return;
                }
            }
        }
示例#2
0
        public string RegistrarVenda(int IdFilial, XmlDocument XmlCadPessoa, XmlDocument XmlVenda, XmlDocument XmlItens)
        {
            int IdVenda = 0;

            try
            {
                if (IdFilial == 0)
                {
                    return("-3");
                }

                //string StringConexao = "Data Source=SERVIDOR;Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";
                Conexao = new SqlConnection(StringConexao);
                Conexao.Open();

                Executar.Conexao      = Conexao;
                RegAuditoria.Controle = Executar;
                FormaPgto.Controle    = Executar;
                Vendedor.Controle     = Executar;
                Vendas.Controle       = Executar;
                MvItens.Controle      = Executar;
                VerificarCad.Controle = Executar;

                Parametros ParamFilial = new Parametros();
                ParamFilial.Controle = Executar;
                ParamFilial.LerDados(1);

                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                ControleEstoque.Controle = Executar;

                // Abrindo os XML de Cliente
                DataSet       TabCliente = new DataSet();
                XmlNodeReader XmlCliente = new XmlNodeReader(XmlCadPessoa);
                TabCliente.ReadXml(XmlCliente);

                CadPessoa.Controle = Executar;

                if (!Ver_CadCliente(TabCliente))
                {
                    return("-1");  //Cadastro de Cliente não Localizado
                }
                DataSet       TabVenda = new DataSet();
                XmlNodeReader XmlVd    = new XmlNodeReader(XmlVenda);
                TabVenda.ReadXml(XmlVd);

                //Verificando a Forma de Pagamento
                int IdFormaPgto = 0;

                if (int.Parse(TabVenda.Tables[0].Rows[0]["Id_FormaPgto"].ToString()) > 0)
                {
                    IdFormaPgto = VerificarCad.Verificar_ExisteCadastro("Id_FormaPgto", "SELECT * FROM FORMAPAGAMENTO WHERE FORMAPGTO='" + TabVenda.Tables[0].Rows[0]["NomeFormaPgto"].ToString().Trim() + "'");
                    if (IdFormaPgto == 0)
                    {
                        FormaPgto.LerDados(0);
                        FormaPgto.FormaPgto   = TabVenda.Tables[0].Rows[0]["NomeFormaPgto"].ToString().Trim();
                        FormaPgto.NumParcelas = 1;
                        FormaPgto.Financeiro  = 1;
                        FormaPgto.GravarDados();
                        IdFormaPgto = FormaPgto.IdFormaPgto;
                    }
                }

                //Verificando Vendedor
                int IdVendedor = VerificarCad.Verificar_ExisteCadastro("Id_Vendedor", "SELECT * FROM VENDEDORES WHERE VENDEDOR='" + TabVenda.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim() + "'");

                if (IdVendedor == 0)
                {
                    Vendedor.LerDados(0);
                    Vendedor.Vendedor = TabVenda.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim();
                    Vendedor.Ativo    = 1;
                    Vendedor.GravarDados();
                    IdVendedor = Vendedor.IdVendedor;
                }

                Vendas.LerDados(0);
                Vendas.TpVenda         = TabVenda.Tables[0].Rows[0]["TpVenda"].ToString();
                Vendas.IdPessoa        = CadPessoa.IdPessoa;
                Vendas.IdVendedor      = IdVendedor;
                Vendas.IdFormaPgto     = IdFormaPgto;
                Vendas.PrazoPgto       = TabVenda.Tables[0].Rows[0]["PrazoPgto"].ToString();
                Vendas.Observacao      = TabVenda.Tables[0].Rows[0]["Observacao"].ToString();
                Vendas.NmPessoa        = CadPessoa.RazaoSocial;
                Vendas.CnpjCpf         = CadPessoa.Cnpj;
                Vendas.InscUF          = CadPessoa.InscUF;
                Vendas.Endereco        = CadPessoa.Endereco;
                Vendas.Numero          = CadPessoa.Numero;
                Vendas.Complemento     = CadPessoa.Complemento;
                Vendas.Fone            = CadPessoa.Fone;
                Vendas.Cep             = CadPessoa.Cep;
                Vendas.Bairro          = CadPessoa.Bairro;
                Vendas.Cidade          = CadPessoa.Cidade;
                Vendas.IdUF            = CadPessoa.IdUF;
                Vendas.Pais            = CadPessoa.Pais;
                Vendas.VlrSubTotal     = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrSubTotal"].ToString().Replace(".", ","));
                Vendas.VlrDesconto     = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrDesconto"].ToString().Replace(".", ","));
                Vendas.VlrCredito      = decimal.Parse(TabVenda.Tables[0].Rows[0]["Credito"].ToString().Replace(".", ","));
                Vendas.VlrTotal        = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrTotal"].ToString().Replace(".", ","));
                Vendas.IdFilial        = int.Parse(TabVenda.Tables[0].Rows[0]["Id_Filial"].ToString());
                Vendas.IdFilialEntrega = int.Parse(TabVenda.Tables[0].Rows[0]["Id_FilialEntrega"].ToString());
                Vendas.IdUsuAutDeb     = int.Parse(TabVenda.Tables[0].Rows[0]["Id_UsuAutDeb"].ToString());
                Vendas.IdUsuboleto     = int.Parse(TabVenda.Tables[0].Rows[0]["Id_UsuBoleto"].ToString());
                Vendas.NumPedido       = TabVenda.Tables[0].Rows[0]["NumPedido"].ToString();

                if (Vendas.TpVenda.Trim() == "PC" || Vendas.TpVenda.Trim() == "OE")
                {
                    Vendas.Status = 2;
                }
                else
                {
                    Vendas.Status = 1;
                }
                Vendas.GravarDados();

                IdVenda = Vendas.IdVenda;
                RegistrarAuditoria("Rec.Movimento", Vendas.IdVenda, Vendas.NumDocumento, 1, "Pessoa:" + Vendas.NmPessoa);

                Executar.ExecutaSQL("Update MvVenda set DtEnvioRec=GetDate(), Id_VdOrigem=" + TabVenda.Tables[0].Rows[0]["Id_Venda"].ToString() + ",Id_FilialOrigem=" + IdFilial.ToString() + " WHERE ID_VENDA=" + IdVenda.ToString());

                if (TabVenda.Tables[0].Rows[0]["Id_UsuLibParc"].ToString() != "")
                {
                    Executar.ExecutaSQL("Update MvVenda set Id_UsuLibParc=" + TabVenda.Tables[0].Rows[0]["Id_UsuLibParc"].ToString() + " WHERE ID_VENDA=" + IdVenda.ToString());
                }


                //Incluindo os Itens;
                DataSet       TabItens   = new DataSet();
                XmlNodeReader XmlVdItens = new XmlNodeReader(XmlItens);
                TabItens.ReadXml(XmlVdItens);
                int IdPrd = 0;

                for (int i = 0; i < TabItens.Tables[0].Rows.Count; i++)
                {
                    IdPrd = VerificarCad.Verificar_ExisteCadastro("Id_Produto", "SELECT T1.ID_PRODUTO FROM PRODUTOS T1 LEFT JOIN GRUPOPRODUTO T2 ON (T2.ID_GRUPO=T1.ID_GRUPO) WHERE T1.ATIVO=1 AND T2.ATIVO=1 AND T2.LISTAVENDA=1 AND T1.REFERENCIA='" + TabItens.Tables[0].Rows[i]["REFERENCIA"].ToString().Trim() + "'");

                    if (IdPrd == 0)
                    {
                        Executar.ExecutaSQL("DELETE FROM MVVENDA WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                        Executar.ExecutaSQL("DELETE FROM MVVENDAITENS WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                        return("-2 Ref.Produto: " + TabItens.Tables[0].Rows[i]["REFERENCIA"].ToString().Trim()); //Produto não Localizado
                    }
                    MvItens.LerDados(0);
                    MvItens.IdVenda  = Vendas.IdVenda;
                    MvItens.TipoItem = TabItens.Tables[0].Rows[i]["TipoItem"].ToString();
                    if (Vendas.TpVenda != "TROCA")
                    {
                        if (TabItens.Tables[0].Rows[i]["TipoItem"].ToString() == "S")
                        {
                            MvItens.TipoItem = "N";
                        }
                        else
                        {
                            if (int.Parse(TabItens.Tables[0].Rows[i]["Vinculado"].ToString()) == 0)
                            {
                                MvItens.TipoItem = "S";
                            }
                            else
                            {
                                MvItens.TipoItem = "N";
                            }
                        }
                    }

                    MvItens.IdProduto      = IdPrd;
                    MvItens.PrcEspecial    = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcEspecial"].ToString().Replace(".", ","));
                    MvItens.PrcVarejo      = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcVarejo"].ToString().Replace(".", ","));
                    MvItens.PrcMinimo      = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcMinimo"].ToString().Replace(".", ","));
                    MvItens.PrcAtacado     = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcAtacado"].ToString().Replace(".", ","));
                    MvItens.PrcSensacional = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcSensacional"].ToString().Replace(".", ","));
                    MvItens.Qtde           = decimal.Parse(TabItens.Tables[0].Rows[i]["Qtde"].ToString().Replace(".", ","));
                    MvItens.VlrUnitario    = decimal.Parse(TabItens.Tables[0].Rows[i]["VlrUnitario"].ToString().Replace(".", ","));
                    MvItens.VlrTotal       = MvItens.Qtde * MvItens.VlrUnitario;
                    MvItens.PrcCusto       = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcCusto"].ToString().Replace(".", ","));
                    MvItens.Vinculado      = int.Parse(TabItens.Tables[0].Rows[i]["VInculado"].ToString());
                    MvItens.ItemPed        = int.Parse(TabItens.Tables[0].Rows[i]["ItemPed"].ToString());
                    MvItens.GravarDados();
                    RegistrarAuditoria("Rec. Item", MvItens.IdItem, Vendas.NumDocumento, 1, "Incluindo Item Produto:" + MvItens.IdProduto.ToString() + "  Vr.Unit:" + MvItens.VlrUnitario.ToString() + "  Qtde:" + MvItens.Qtde.ToString());
                }
                //Concluindo a Venda
                if (int.Parse(TabVenda.Tables[0].Rows[0]["Id_Caixa"].ToString()) > 0)
                {
                    Vendas.IdFilialOrigem = IdFilial;
                    Vendas.VlrDesconto    = Vendas.VlrSubTotal;
                    Vendas.VlrCredito     = 0;
                    Vendas.VlrTotal       = 0;
                    Vendas.GravarDados();
                }

                //Calculando a comissao
                SqlDataReader TabComissao = Executar.ConsultaSQL("SELECT T1.*,T3.COMISSAO AS PCOMVEND FROM MvVendaItens T1 LEFT JOIN MVVENDA T2 ON (T2.ID_VENDA=T1.ID_VENDA)" +
                                                                 " LEFT JOIN VENDEDORES T3 ON (T3.ID_VENDEDOR=T2.ID_VENDEDOR) WHERE T1.TipoItem<>'E' and T1.Id_Venda=" + Vendas.IdVenda.ToString());
                Controles.Comissao CalcComissao = new Controles.Comissao();
                CalcComissao.Controle = Executar;

                decimal PDesconto = 0;
                if ((Vendas.VlrDesconto + Vendas.VlrCredito) > 0)
                {
                    PDesconto = 100 / (Vendas.VlrSubTotal / (Vendas.VlrDesconto + Vendas.VlrCredito));
                }

                CalcComissao.CalcularMovimento(TabComissao, PDesconto, CadPessoa.Clie_Forn == 3, ParamFilial, CadPessoa.ComissaoFixa, CadPessoa.IdPessoa);

                //Atualizando o Saldo do Estoque
                SqlDataReader TabSaida = Executar.ConsultaSQL("SELECT * FROM MvVendaItens WHERE TipoItem='S' and Id_Venda=" + Vendas.IdVenda.ToString());
                ControleEstoque.MovimentoEstoque(TabSaida, 2, 1, false, Vendas.TpVenda, Vendas.Data, 0);

                //Finalizando a venda
                RegistrarAuditoria("Rec.Movimento", Vendas.IdVenda, Vendas.NumDocumento, 5, "Confirmação do Movimento");
            }
            catch (Exception erro)
            {
                /*StreamWriter Xmlerr;
                 * Xmlerr = File.CreateText(@"D:\WS_erro.txt");
                 * Xmlerr.Write("Erro ao Atualizar: " + erro.ToString());
                 * Xmlerr.Close();*/

                RegistroLog("Erro Registro de Venda: " + erro.ToString());

                Executar.ExecutaSQL("DELETE FROM MVVENDA WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                Executar.ExecutaSQL("DELETE FROM MVVENDAITENS WHERE ID_VENDA=" + Vendas.IdVenda.ToString());

                Conexao.Dispose();
                return("-3");
            }
            Conexao.Dispose();
            return(string.Format("{0:D6}", IdVenda));
        }
示例#3
0
        private bool ConfirmaLocalEntrega(int IdVenda)
        {
            MvVenda Vendas = new MvVenda();

            Vendas.Controle = Controle;
            Vendas.LerDados(IdVenda);

            // Conectando ao Servidor Origem da Venda
            SqlConnection ServidorOrigem;

            Filiais FilialOrigem = new Filiais();

            FilialOrigem.Controle = Controle;
            FilialOrigem.LerDados(Vendas.IdFilialOrigem);

            if (FilialOrigem.ServidorRemoto == "")
            {
                MessageBox.Show("Atenção: Configuração do Servidor de Origem inválido", "Conclusão", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
            try
            {
                string conexao = "";
                conexao = "Data Source=" + FilialOrigem.ServidorRemoto + FilialOrigem.Porta + "; Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";

                ServidorOrigem = new SqlConnection(conexao);
                ServidorOrigem.Open();
            }
            catch
            {
                MessageBox.Show("Atenção: Ocorreu um erro ao conectar ao servidor destino, tente novamente", "Conclusão", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            Funcoes ControleOrigem = new Funcoes();

            ControleOrigem.Conexao = ServidorOrigem;

            Controles.Verificar Verifica = new Verificar();
            Verifica.Controle = ControleOrigem;

            int IdEntregador = Verifica.Verificar_ExisteCadastro("ID_ENTREGADOR", "SELECT ISNULL(ID_ENTREGADOR,0) AS ID_ENTREGADOR FROM PARAMETROS WHERE ID_FILIAL=" + Vendas.IdFilialEntrega.ToString());

            if (IdEntregador == 0)
            {
                MessageBox.Show("Atenção: Entregador não configurado na Filial de Origem da Venda", "Conclusão", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }

            MvVenda MvOrigem = new MvVenda();

            MvOrigem.Controle = ControleOrigem;
            MvOrigem.LerDados(Vendas.IdVdOrigem);
            //
            if (MvOrigem.Status == 2 || MvOrigem.Status == 3)
            {
                decimal VlrVenda = decimal.Parse(GridVenda.CurrentRow.Cells[6].Value.ToString());
                if (MvOrigem.Status == 3 && Vendas.VlrTotal == 0)
                {
                    ControleOrigem.ExecutaSQL("Update MvVenda Set Status=3,Id_Entregador=" + IdEntregador.ToString() + ", DataConfirmacao=Convert(DateTime,'" + Vendas.PrevEntrega.Date.ToShortDateString() + "',103) where Id_Venda=" + MvOrigem.IdVenda.ToString());
                }
                else
                {
                    ControleOrigem.ExecutaSQL("Update MvVenda Set Status=3,Id_Entregador=" + IdEntregador.ToString() + ", PrevEntrega=Convert(DateTime,'" + Vendas.PrevEntrega.Date.ToShortDateString() + "',103), DataConfirmacao=Convert(DateTime,'" + Vendas.PrevEntrega.Date.ToShortDateString() + "',103) where Id_Venda=" + MvOrigem.IdVenda.ToString());
                }
                ControleOrigem.ExecutaSQL("UPDATE MvVenda Set Faturado=1 Where VinculoVd='" + string.Format("{0:D6}", MvOrigem.IdVenda.ToString()) + "'");
                if (MvOrigem.TpVenda == "CO")
                {
                    Controle.ExecutaSQL("UPDATE PESSOAS SET COMODATO=1 WHERE ID_PESSOA=" + MvOrigem.IdPessoa.ToString());
                }

                if (MvOrigem.Status == 2 && VlrVenda < 0 && int.Parse(GridVenda.CurrentRow.Cells[17].Value.ToString()) == 0)
                {
                    Controle.ExecutaSQL("UPDATE PESSOAS SET CREDITO=Round(CREDITO+" + Controle.FloatToStr(-1 * VlrVenda, 2) + ",2) WHERE ID_PESSOA=" + MvOrigem.IdPessoa.ToString());
                }
            }
            return(true);
        }
示例#4
0
        public int Enviar(DataSet TabFinanc, string NmUsuario)
        {
            SqlConnection Conexao = null;

            //XmlDocument XMLRet = new XmlDocument();

            //string StringConexao = "Data Source=SERVIDOR;Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";
            Conexao = new SqlConnection(StringConexao);
            Conexao.Open();

            Funcoes Executar = new Funcoes();

            Executar.Conexao = Conexao;

            Verificar VerificarCad = new Verificar();

            VerificarCad.Controle = Executar;

            //TipoDocumento TipoDoc = new TipoDocumento();
            //TipoDoc.Controle = Executar;

            Vendedores Vendedor = new Vendedores();

            Vendedor.Controle = Executar;

            //FormaPagamento FormaPgto = new FormaPagamento();
            //FormaPgto.Controle = Executar;

            Usuarios CadUsu = new Usuarios();

            CadUsu.Controle = Executar;

            Financeiro CadFinanceiro = new Financeiro();

            CadFinanceiro.Controle = Executar;

            Auditoria RegAuditoria = new Auditoria();

            RegAuditoria.Controle = Executar;

            //DataSet TabFinanc = new DataSet();
            //XmlNodeReader xmlReader = new XmlNodeReader(XMLCad);
            //TabReadXml(xmlReader);
            //
            int IdTipoDoc   = -1;
            int IdFormaPgto = -1;
            int IdVendedor  = -1;
            int IdUsuario   = -1;
            int IdLancServ  = 0;

            //
            for (int I = 0; I <= TabFinanc.Tables[0].Rows.Count - 1; I++)
            {
                /*IdTipoDoc = VerificarCad.Verificar_ExisteCadastro("Id_Documento", "SELECT * FROM TIPODOCUMENTO WHERE DOCUMENTO='" + TabFinanc.Tables[0].Rows[I]["NomeTipoDoc"].ToString().Trim() + "'");
                 * if (IdTipoDoc == 0)
                 * {
                 *  TipoDoc.LerDados(0);
                 *  TipoDoc.Documento = TabFinanc.Tables[0].Rows[I]["NomeTipoDoc"].ToString().Trim();
                 *  TipoDoc.GravarDados();
                 *  IdTipoDoc = TipoDoc.IdDocumento;
                 * }
                 * IdFormaPgto = VerificarCad.Verificar_ExisteCadastro("Id_FormaPgto", "SELECT * FROM FORMAPAGAMENTO WHERE FORMAPGTO='" + TabFinanc.Tables[0].Rows[I]["NomeFormaPgto"].ToString().Trim() + "'");
                 * if (IdFormaPgto == 0)
                 * {
                 *  FormaPgto.LerDados(0);
                 *  FormaPgto.FormaPgto = TabFinanc.Tables[0].Rows[I]["NomeFormaPgto"].ToString().Trim();
                 *  FormaPgto.NumParcelas = 1;
                 *  FormaPgto.Financeiro = 1;
                 *  FormaPgto.GravarDados();
                 *  IdFormaPgto = FormaPgto.IdFormaPgto;
                 * }*/
                IdVendedor = VerificarCad.Verificar_ExisteCadastro("Id_Vendedor", "SELECT * FROM VENDEDORES WHERE VENDEDOR='" + TabFinanc.Tables[0].Rows[I]["NomeVendedor"].ToString().Trim() + "'");
                if (IdVendedor == 0)
                {
                    Vendedor.LerDados(0);
                    Vendedor.Vendedor = TabFinanc.Tables[0].Rows[I]["NomeVendedor"].ToString().Trim();
                    Vendedor.Ativo    = 1;
                    Vendedor.GravarDados();
                    IdVendedor = Vendedor.IdVendedor;
                }
                IdUsuario = VerificarCad.Verificar_ExisteCadastro("Id_Usuario", "SELECT * FROM USUARIOS WHERE USUARIO='" + TabFinanc.Tables[0].Rows[I]["Usuario"].ToString().Trim() + "'");
                if (IdUsuario == 0)
                {
                    CadUsu.LerDados(0);
                    CadUsu.Usuario = TabFinanc.Tables[0].Rows[I]["Usuario"].ToString().Trim();
                    CadUsu.GravarDados();
                    IdUsuario = CadUsu.IdUsuario;
                }

                if (TabFinanc.Tables[0].Rows[I]["IdLancServ"].ToString() != "")
                {
                    IdLancServ = int.Parse(TabFinanc.Tables[0].Rows[I]["IdLancServ"].ToString());
                }
                else
                {
                    IdLancServ = 0;
                }

                //Verificando o Cadastro Pessoa
                int           IdPessoa = 0;
                SqlDataReader PesqCad;
                string        Cnpj = TabFinanc.Tables[0].Rows[I]["Cnpj"].ToString().Trim();
                if ((Cnpj == "00000000000000" || Cnpj == "11111111111111" || Cnpj == "22222222222222" || Cnpj == "33333333333333" || Cnpj == "44444444444444" ||
                     Cnpj == "55555555555555" || Cnpj == "66666666666666" || Cnpj == "77777777777777" || Cnpj == "88888888888888" || Cnpj == "99999999999999" ||
                     Cnpj == "00000000000" || Cnpj == "11111111111" || Cnpj == "22222222222" || Cnpj == "33333333333" || Cnpj == "44444444444" ||
                     Cnpj == "55555555555" || Cnpj == "66666666666" || Cnpj == "77777777777" || Cnpj == "88888888888" || Cnpj == "99999999999"))
                {
                    IdPessoa = 0;
                    if (int.Parse(TabFinanc.Tables[0].Rows[I]["IDSERVPESSOA"].ToString().Trim()) > 0)
                    {
                        PesqCad = Executar.ConsultaSQL("SELECT ID_PESSOA FROM Pessoas WHERE Ativo=1 and IdServidor=" + TabFinanc.Tables[0].Rows[I]["IDSERVPESSOA"].ToString().Trim());
                        if (PesqCad.HasRows)
                        {
                            PesqCad.Read();
                            IdPessoa = int.Parse(PesqCad["Id_Pessoa"].ToString());
                        }
                    }
                }
                else
                {
                    PesqCad = Executar.ConsultaSQL("SELECT ID_PESSOA FROM Pessoas WHERE Ativo=1 and Cnpj='" + TabFinanc.Tables[0].Rows[I]["Cnpj"].ToString().Trim() + "'");
                    if (PesqCad.HasRows)
                    {
                        PesqCad.Read();
                        IdPessoa = int.Parse(PesqCad["Id_Pessoa"].ToString());
                    }
                }

                if (IdPessoa > 0)
                {
                    CadFinanceiro.LerDados(IdLancServ);
                    CadFinanceiro.DataLanc        = DateTime.Parse(TabFinanc.Tables[0].Rows[I]["Data"].ToString());
                    CadFinanceiro.PagRec          = int.Parse(TabFinanc.Tables[0].Rows[I]["PagRec"].ToString());
                    CadFinanceiro.IdPessoa        = IdPessoa;
                    CadFinanceiro.NumDoc          = TabFinanc.Tables[0].Rows[I]["NumDocumento"].ToString().Trim();
                    CadFinanceiro.Referente       = TabFinanc.Tables[0].Rows[I]["Referente"].ToString().Trim();
                    CadFinanceiro.NotaFiscal      = TabFinanc.Tables[0].Rows[I]["NotaFiscal"].ToString().Trim();
                    CadFinanceiro.VlrOriginal     = decimal.Parse(TabFinanc.Tables[0].Rows[I]["VlrOriginal"].ToString().Replace(".", ","));
                    CadFinanceiro.Vencimento      = DateTime.Parse(TabFinanc.Tables[0].Rows[I]["Vencimento"].ToString());
                    CadFinanceiro.Observacao      = TabFinanc.Tables[0].Rows[I]["Observacao"].ToString().Trim();
                    CadFinanceiro.IdFilial        = int.Parse(TabFinanc.Tables[0].Rows[I]["ID_Filial"].ToString());
                    CadFinanceiro.IdTipoDocumento = int.Parse(TabFinanc.Tables[0].Rows[I]["IDTIPODOC"].ToString());
                    CadFinanceiro.IdVendedor      = IdVendedor;
                    CadFinanceiro.IdFormaPgto     = int.Parse(TabFinanc.Tables[0].Rows[I]["IDFORMAPGTO"].ToString());
                    CadFinanceiro.IdUsuLanc       = IdUsuario;
                    CadFinanceiro.GravarDados();
                    TabFinanc.Tables[0].Rows[I]["IDLancServ"] = CadFinanceiro.IdLanc.ToString();

                    if (IdLancServ == 0)
                    {
                        RegAuditoria.Operacao = 1;
                    }
                    else
                    {
                        RegAuditoria.Operacao = 2;
                    }
                    RegAuditoria.IdUsuario = IdUsuario;
                    RegAuditoria.Terminal  = Conexao.WorkstationId;
                    RegAuditoria.Data      = DateTime.Now;
                    RegAuditoria.IdChave   = CadFinanceiro.IdLanc;
                    RegAuditoria.Documento = CadFinanceiro.NumDoc.Trim();
                    RegAuditoria.Opcao     = "Financeiro WEB SERVICE: Filial: " + CadFinanceiro.IdFilial.ToString();
                    RegAuditoria.Descricao = "Registro Via WEBSERVICE Usuario:" + NmUsuario.Trim();
                    RegAuditoria.Registrar();
                    //XMLRet.LoadXml(TabGetXml());
                    Conexao.Dispose();
                    return(CadFinanceiro.IdLanc);
                }
                else
                {
                    return(0);
                }
            }
            return(0);
        }
示例#5
0
        private void BtnConfirmar_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Confirma o processo de atualização ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                string ChaveRef = "";
                //try
                {
                    BtnConfirmar.Enabled = false;
                    ProcBar.Value        = 0;

                    Filiais CadFilial = new Filiais();
                    CadFilial.Controle = Controle;
                    CadFilial.LerDados(FrmPrincipal.IdFilialConexao);

                    //Conenctando com o matriz
                    if (ConectarServidor())
                    {
                        if (Controle.Conexao.ConnectionString == Serv_Conexao.ConnectionString)
                        {
                            MessageBox.Show("Atenção: Usuário conectado ao servidor principal, Acesse o servidor local para poder atualizar o banco de dados", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        BtnConfirmar.Text = "Aguarde..";
                        Funcoes ControleServ = new Funcoes();
                        ControleServ.Conexao = Serv_Conexao;

                        //Cadastro de Produto Servidor Principal
                        Produtos ServCadPrd = new Produtos();
                        ServCadPrd.Controle = ControleServ;

                        //Cadastro de Produtos Local
                        Produtos CadPrd = new Produtos();
                        CadPrd.Controle = Controle;

                        //Cadastro de Produtos Local
                        GrupoProduto GrpPrd = new GrupoProduto();
                        GrpPrd.Controle = Controle;

                        Controles.Verificar PesqPrd = new Verificar();
                        PesqPrd.Controle = Controle;

                        ProdutosKitItens ItensKit = new ProdutosKitItens();
                        ItensKit.Controle = Controle;

                        Produtos CadPrdKit = new Produtos();
                        CadPrdKit.Controle = Controle;

                        FrmPrincipal.RegistrarAuditoria(this.Text, 0, "AtlzDados", 1, "Atualização: " + Dt1.Value.Date.ToShortDateString() + " a " + Dt2.Value.Date.ToShortDateString());

                        //MessageBox.Show("Etapa 2", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        // Atualização dos Produtos
                        DataSet ConsProduto = new DataSet();
                        ConsProduto = ControleServ.ConsultaTabela("SELECT T1.*,T2.GRUPO,ISNULL(T2.LISTAESTMIN,0) AS LISTAESTMIN,ISNULL(T2.ListaVenda,0) AS ListaVenda,ISNULL(T2.LISTAWEB,0) AS LISTAWEB," +
                                                                  " ISNULL(T2.CST_DIEF,0) AS CST_DIEF ,ISNULL(T2.CST_SPED,0) AS CST_SPED,ISNULL(T2.ESTOQUE,0) AS ESTOQUE,ISNULL(T2.ATIVO,0) AS GRPATIVO,T2.PercVerDesc FROM PRODUTOS T1 " +
                                                                  " LEFT JOIN GRUPOPRODUTO T2 ON (T2.ID_GRUPO=T1.ID_GRUPO) WHERE DTALTERACAO >= Convert(DateTime,'" + Dt1.Value.Date.ToString() + "',103) AND DTALTERACAO <= Convert(DateTime,'" + Dt2.Value.Date.ToString() + "',103)");

                        if (ConsProduto.Tables[0].Rows.Count > 0)
                        {
                            ProcBar.Maximum = ConsProduto.Tables[0].Rows.Count;
                            int IdPrd = 0;
                            for (int I = 0; I <= ConsProduto.Tables[0].Rows.Count - 1; I++)
                            {
                                //MessageBox.Show("Etapa 3 / "+I.ToString(), "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                //Atualizando o Grupo do Grupo
                                if (int.Parse(ConsProduto.Tables[0].Rows[I]["Id_Grupo"].ToString()) > 0)
                                {
                                    GrpPrd.LerDados(int.Parse(ConsProduto.Tables[0].Rows[I]["Id_Grupo"].ToString()));
                                    GrpPrd.Grupo       = ConsProduto.Tables[0].Rows[I]["Grupo"].ToString().Trim();
                                    GrpPrd.ListaEstMin = int.Parse(ConsProduto.Tables[0].Rows[I]["LISTAESTMIN"].ToString());
                                    GrpPrd.ListaVenda  = int.Parse(ConsProduto.Tables[0].Rows[I]["ListaVenda"].ToString());
                                    GrpPrd.ListaWeb    = int.Parse(ConsProduto.Tables[0].Rows[I]["ListaWeb"].ToString());
                                    GrpPrd.CstDief     = int.Parse(ConsProduto.Tables[0].Rows[I]["CST_DIEF"].ToString());
                                    GrpPrd.CstSped     = int.Parse(ConsProduto.Tables[0].Rows[I]["CST_SPED"].ToString());
                                    GrpPrd.Estoque     = int.Parse(ConsProduto.Tables[0].Rows[I]["ESTOQUE"].ToString());
                                    GrpPrd.PercVerDesc = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PercVerDesc"].ToString());
                                    if (GrpPrd.IdGrupo == 0)
                                    {
                                        GrpPrd.Ativo = int.Parse(ConsProduto.Tables[0].Rows[I]["GRPATIVO"].ToString());
                                    }
                                    GrpPrd.GravarDados();
                                }
                                ChaveRef = ConsProduto.Tables[0].Rows[I]["Referencia"].ToString();
                                IdPrd    = int.Parse(ConsProduto.Tables[0].Rows[I]["Id_Produto"].ToString());
                                CadPrd.LerDados(ChaveRef);
                                //Atualizando os Dados
                                CadPrd.Referencia     = ConsProduto.Tables[0].Rows[I]["Referencia"].ToString().Trim();
                                CadPrd.Descricao      = ConsProduto.Tables[0].Rows[I]["Descricao"].ToString().Trim();
                                CadPrd.DescResumida   = ConsProduto.Tables[0].Rows[I]["DescResumida"].ToString().Trim();
                                CadPrd.IdGrupo        = int.Parse(ConsProduto.Tables[0].Rows[I]["Id_Grupo"].ToString());
                                CadPrd.Tipo           = int.Parse(ConsProduto.Tables[0].Rows[I]["Tipo"].ToString());
                                CadPrd.RefFornecedor  = ConsProduto.Tables[0].Rows[I]["RefFornecedor"].ToString().Trim();
                                CadPrd.CodBarra       = ConsProduto.Tables[0].Rows[I]["CodBarra"].ToString().Trim();
                                CadPrd.IcmsIss        = decimal.Parse(ConsProduto.Tables[0].Rows[I]["IcmsIss"].ToString());
                                CadPrd.Reducao        = decimal.Parse(ConsProduto.Tables[0].Rows[I]["Reducao"].ToString());
                                CadPrd.Ipi            = decimal.Parse(ConsProduto.Tables[0].Rows[I]["Ipi"].ToString());
                                CadPrd.SitTributaria  = int.Parse(ConsProduto.Tables[0].Rows[I]["SitTributaria"].ToString());
                                CadPrd.IcmsIss2       = decimal.Parse(ConsProduto.Tables[0].Rows[I]["IcmsIss2"].ToString());
                                CadPrd.SitTrib2       = int.Parse(ConsProduto.Tables[0].Rows[I]["SitTrib2"].ToString());
                                CadPrd.CodSefaz       = ConsProduto.Tables[0].Rows[I]["CodSefaz"].ToString().Trim();
                                CadPrd.PesoBruto      = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PesoBruto"].ToString());
                                CadPrd.PesoLiquido    = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PesoLiquido"].ToString());
                                CadPrd.Unidade        = ConsProduto.Tables[0].Rows[I]["Unidade"].ToString();
                                CadPrd.PrcMinimo      = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PrcMinimo"].ToString());
                                CadPrd.PrcVarejo      = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PrcVarejo"].ToString());
                                CadPrd.PrcAtacado     = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PrcAtacado"].ToString());
                                CadPrd.PrcEspecial    = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PrcEspecial"].ToString());
                                CadPrd.PrcEspDist     = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PrcEspDist"].ToString());
                                CadPrd.PrcSensacional = decimal.Parse(ConsProduto.Tables[0].Rows[I]["PrcSensacional"].ToString());
                                CadPrd.UltPrcCompra   = decimal.Parse(ConsProduto.Tables[0].Rows[I]["UltPrcCompra"].ToString());
                                CadPrd.UltPrcCompra2  = decimal.Parse(ConsProduto.Tables[0].Rows[I]["UltPrcCompra2"].ToString());
                                CadPrd.Custo          = decimal.Parse(ConsProduto.Tables[0].Rows[I]["Custo"].ToString());
                                CadPrd.DtCadastro     = DateTime.Parse(ConsProduto.Tables[0].Rows[I]["DtCadastro"].ToString());
                                CadPrd.DtAlteracao    = DateTime.Parse(ConsProduto.Tables[0].Rows[I]["DtAlteracao"].ToString());
                                CadPrd.Observacao     = ConsProduto.Tables[0].Rows[I]["Observacao"].ToString();
                                CadPrd.Composicao     = ConsProduto.Tables[0].Rows[I]["Composicao"].ToString();
                                CadPrd.ProdutoKit     = int.Parse(ConsProduto.Tables[0].Rows[I]["ProdutoKit"].ToString());
                                CadPrd.IdGenero       = int.Parse(ConsProduto.Tables[0].Rows[I]["Id_Genero"].ToString());
                                CadPrd.NCM            = ConsProduto.Tables[0].Rows[I]["NCM"].ToString();
                                CadPrd.QtdeCxDist     = int.Parse(ConsProduto.Tables[0].Rows[I]["QtdeCxDist"].ToString());
                                CadPrd.QtdeCaixa      = int.Parse(ConsProduto.Tables[0].Rows[I]["QtdeCaixa"].ToString());
                                CadPrd.QtdeUnd        = int.Parse(ConsProduto.Tables[0].Rows[I]["QtdeUnd"].ToString());
                                CadPrd.IdPromocao     = int.Parse(ConsProduto.Tables[0].Rows[I]["Id_Promocao"].ToString());
                                CadPrd.Pontos         = int.Parse(ConsProduto.Tables[0].Rows[I]["Pontos"].ToString());
                                CadPrd.DtAltPrc       = DateTime.Parse(ConsProduto.Tables[0].Rows[I]["DtAltPrc"].ToString());
                                CadPrd.Foto           = ConsProduto.Tables[0].Rows[I]["Foto"].ToString().Trim();
                                CadPrd.Ativo          = int.Parse(ConsProduto.Tables[0].Rows[I]["ATIVO"].ToString());
                                //--------------------------------------------------

                                /*if (CadPrd.IdProduto == 0)
                                 *  CadPrd.Ativo = 1;*/

                                //--------------------------------------------------
                                if (CadPrd.IdProduto == 0)
                                {
                                    CadPrd.IdProduto    = 0;
                                    CadPrd.SaldoEstoque = 0;
                                }
                                if (CadFilial.Regime != 2)
                                {
                                    CadPrd.SitTributaria = 3;
                                    CadPrd.Reducao       = 0;
                                    CadPrd.IcmsIss       = 0;
                                    CadPrd.SitTrib2      = 3;
                                    CadPrd.IcmsIss2      = 0;
                                }

                                CadPrd.GravarDados();
                                //MessageBox.Show("Etapa 4", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                if (CadPrd.ProdutoKit == 1)
                                {
                                    Controle.ExecutaSQL("DELETE FROM PRODUTOSKIT WHERE ID_PRDMASTER=" + CadPrd.IdProduto.ToString());
                                    DataSet ConsPrdKit = new DataSet();
                                    ConsPrdKit = ControleServ.ConsultaTabela("SELECT T2.REFERENCIA,T1.QTDE,T1.VALOR FROM PRODUTOSKIT T1 LEFT JOIN PRODUTOS T2 ON (T2.ID_PRODUTO=T1.ID_PRODUTO) WHERE T1.ID_PRDMASTER=" + IdPrd.ToString());// CadPrd.IdProduto.ToString());

                                    if (ConsPrdKit.Tables[0].Rows.Count > 0)
                                    {
                                        for (int K = 0; K <= ConsPrdKit.Tables[0].Rows.Count - 1; K++)
                                        {
                                            CadPrdKit.LerDados(ConsPrdKit.Tables[0].Rows[K]["Referencia"].ToString());
                                            if (CadPrdKit.IdProduto > 0)
                                            {
                                                ItensKit.IdItem      = 0;
                                                ItensKit.IdPrdMaster = CadPrd.IdProduto;
                                                ItensKit.IdProduto   = CadPrdKit.IdProduto;
                                                ItensKit.Qtde        = decimal.Parse(ConsPrdKit.Tables[0].Rows[K]["Qtde"].ToString());
                                                ItensKit.Valor       = decimal.Parse(ConsPrdKit.Tables[0].Rows[K]["VALOR"].ToString());
                                                ItensKit.GravarDados();
                                            }
                                        }
                                    }
                                    ConsPrdKit.Dispose();
                                }
                                ProcBar.Value = ProcBar.Value + 1;
                            }
                        }
                        ConsProduto.Dispose();


                        //Atualizando as Promoções

                        DataSet ConsPromocao = new DataSet();
                        ConsPromocao = ControleServ.ConsultaTabela("Select t2.*,t1.*,t3.referencia,t1.Ativo as AtivoPrd,isnull(t4.Referencia,0) as RefPromocao from PromocaoProdutosItens T1" +
                                                                   " Left Join PromocaoProdutos t2 on (t2.Id_Promocao=T1.Id_Promocao) " +
                                                                   " left join Produtos t3 on (t3.id_produto=t1.id_produto)" +
                                                                   " left join Produtos t4 on (t4.id_produto=t2.id_produto)" +
                                                                   " Where convert(DateTime,convert(char,GETDATE(),103),103) <= CONVERT(DATETIME,T2.DTFINAL,103) " +
                                                                   " ORDER BY T1.ID_PROMOCAO,T1.ID_PRODUTO");

                        PromocaoProdutos CadPromocao = new PromocaoProdutos();
                        CadPromocao.Controle = Controle;
                        //
                        PromocaoProdutosItens CadPromocaoItens = new PromocaoProdutosItens();
                        CadPromocaoItens.Controle = Controle;

                        int IdPromocao = 0;

                        if (ConsPromocao.Tables[0].Rows.Count > 0)
                        {
                            ProcBar.Value   = 0;
                            ProcBar.Maximum = ConsPromocao.Tables[0].Rows.Count;
                            for (int I = 0; I <= ConsPromocao.Tables[0].Rows.Count - 1; I++)
                            {
                                if (IdPromocao != int.Parse(ConsPromocao.Tables[0].Rows[I]["Id_Promocao"].ToString()))
                                {
                                    IdPromocao = int.Parse(ConsPromocao.Tables[0].Rows[I]["Id_Promocao"].ToString());

                                    CadPromocao.LerDados(CadPromocao.VerificarPromocaoServidor(int.Parse(ConsPromocao.Tables[0].Rows[I]["Id_Promocao"].ToString())));
                                    if (CadPromocao.IdPromocao == 0)
                                    {
                                        CadPromocao.Ativo     = int.Parse(ConsPromocao.Tables[0].Rows[I]["Ativo"].ToString());
                                        CadPromocao.PComissao = decimal.Parse(ConsPromocao.Tables[0].Rows[I]["PComissao"].ToString());
                                    }

                                    CadPromocao.Descricao    = ConsPromocao.Tables[0].Rows[I]["Descricao"].ToString();
                                    CadPromocao.DtInicio     = DateTime.Parse(ConsPromocao.Tables[0].Rows[I]["DtInicio"].ToString());
                                    CadPromocao.DtFinal      = DateTime.Parse(ConsPromocao.Tables[0].Rows[I]["DtFinal"].ToString());
                                    CadPromocao.Autorizado   = ConsPromocao.Tables[0].Rows[I]["Autorizado"].ToString();
                                    CadPromocao.Observacao   = ConsPromocao.Tables[0].Rows[I]["Observacao"].ToString();
                                    CadPromocao.DtFinal      = DateTime.Parse(ConsPromocao.Tables[0].Rows[I]["DtFinal"].ToString());
                                    CadPromocao.Segunda      = int.Parse(ConsPromocao.Tables[0].Rows[I]["Segunda"].ToString());
                                    CadPromocao.Terca        = int.Parse(ConsPromocao.Tables[0].Rows[I]["Terca"].ToString());
                                    CadPromocao.Quarta       = int.Parse(ConsPromocao.Tables[0].Rows[I]["Quarta"].ToString());
                                    CadPromocao.Quinta       = int.Parse(ConsPromocao.Tables[0].Rows[I]["Quinta"].ToString());
                                    CadPromocao.Sexta        = int.Parse(ConsPromocao.Tables[0].Rows[I]["Sexta"].ToString());
                                    CadPromocao.Sabado       = int.Parse(ConsPromocao.Tables[0].Rows[I]["Sabado"].ToString());
                                    CadPromocao.Domingo      = int.Parse(ConsPromocao.Tables[0].Rows[I]["Domingo"].ToString());
                                    CadPromocao.IdServidor   = int.Parse(ConsPromocao.Tables[0].Rows[I]["Id_Promocao"].ToString());
                                    CadPromocao.TipoPromocao = int.Parse(ConsPromocao.Tables[0].Rows[I]["TipoPromocao"].ToString());
                                    CadPromocao.QtdeItem     = int.Parse(ConsPromocao.Tables[0].Rows[I]["QtdeItem"].ToString());
                                    CadPromocao.QtdeTotal    = int.Parse(ConsPromocao.Tables[0].Rows[I]["QtdeTotal"].ToString());
                                    CadPromocao.QtdeSen      = int.Parse(ConsPromocao.Tables[0].Rows[I]["QtdeSen"].ToString());
                                    CadPromocao.QtdeEsp      = int.Parse(ConsPromocao.Tables[0].Rows[I]["QtdeEsp"].ToString());
                                    CadPromocao.QtdeVar      = int.Parse(ConsPromocao.Tables[0].Rows[I]["QtdeVar"].ToString());
                                    CadPromocao.QtdeMin      = int.Parse(ConsPromocao.Tables[0].Rows[I]["QtdeMin"].ToString());
                                    CadPromocao.QtdeAta      = int.Parse(ConsPromocao.Tables[0].Rows[I]["QtdeAta"].ToString());
                                    CadPromocao.PDesc        = int.Parse(ConsPromocao.Tables[0].Rows[I]["PDesc"].ToString());
                                    CadPromocao.VlrPedido    = decimal.Parse(ConsPromocao.Tables[0].Rows[I]["VlrPedido"].ToString());
                                    CadPromocao.TipoCliente  = int.Parse(ConsPromocao.Tables[0].Rows[I]["TipoCliente"].ToString());
                                    CadPromocao.DescSegUnd   = int.Parse(ConsPromocao.Tables[0].Rows[I]["DescSegUnd"].ToString());
                                    CadPromocao.PorUsuario   = int.Parse(ConsPromocao.Tables[0].Rows[I]["PorUsuario"].ToString());
                                    if (int.Parse(ConsPromocao.Tables[0].Rows[I]["RefPromocao"].ToString().Trim()) > 0)
                                    {
                                        CadPromocao.IdProduto = PesqPrd.Verificar_ExisteCadastro("ID_produto", "Select id_produto from Produtos where Referencia='" + ConsPromocao.Tables[0].Rows[I]["RefPromocao"].ToString().Trim() + "'");
                                    }
                                    else
                                    {
                                        CadPromocao.IdProduto = 0;
                                    }

                                    CadPromocao.GravarDados();
                                    Controle.ExecutaSQL("DELETE FROM PROMOCAOPRODUTOSITENS WHERE ID_PROMOCAO=" + CadPromocao.IdPromocao.ToString());
                                }

                                CadPromocaoItens.LerDados(0);
                                CadPrd.LerDados(ConsPromocao.Tables[0].Rows[I]["Referencia"].ToString().Trim());

                                if (CadPrd.IdProduto > 0)
                                {
                                    CadPromocaoItens.IdProduto      = CadPrd.IdProduto;
                                    CadPromocaoItens.IdPromocao     = IdPromocao;
                                    CadPromocaoItens.PrcEspecial    = decimal.Parse(ConsPromocao.Tables[0].Rows[I]["PrcEspecial"].ToString());
                                    CadPromocaoItens.PrcVarejo      = decimal.Parse(ConsPromocao.Tables[0].Rows[I]["PrcVarejo"].ToString());
                                    CadPromocaoItens.PrcMinimo      = decimal.Parse(ConsPromocao.Tables[0].Rows[I]["PrcMinimo"].ToString());
                                    CadPromocaoItens.PrcAtacado     = decimal.Parse(ConsPromocao.Tables[0].Rows[I]["PrcAtacado"].ToString());
                                    CadPromocaoItens.PrcSensacional = decimal.Parse(ConsPromocao.Tables[0].Rows[I]["PrcSensacional"].ToString());
                                    CadPromocaoItens.Ativo          = int.Parse(ConsPromocao.Tables[0].Rows[I]["AtivoPrd"].ToString());
                                    CadPromocaoItens.GravarDados();
                                }
                                ProcBar.Value = ProcBar.Value + 1;
                            }
                        }
                        //----------
                        //Atualizando as Entregas das Vendas

                        /* string IdVdMatriz = "";
                         * DataSet ConsVendas = new DataSet();
                         * ConsVendas = Controle.ConsultaTabela("SELECT * FROM MVVENDA WHERE ID_VDMATRIZ > 0 AND STATUS=2 AND DATA >= Convert(DateTime,'" + Dt1.Value.Date.ToString() + "',103) AND DATA <= Convert(DateTime,'" + Dt2.Value.Date.ToString() + "',103)");
                         * SqlDataReader VendaMatriz;
                         * if (ConsVendas.Tables[0].Rows.Count > 0)
                         * {
                         *  ProcBar.Value = 0;
                         *  ProcBar.Maximum = ConsVendas.Tables[0].Rows.Count;
                         *  int IdPrd = 0;
                         *  for (int I = 0; I <= ConsVendas.Tables[0].Rows.Count - 1; I++)
                         *  {
                         *      VendaMatriz = ControleServ.ConsultaSQL("SELECT * FROM MVVENDA WHERE STATUS=3 AND ID_VENDA=" + ConsVendas.Tables[0].Rows[I]["ID_VDMATRIZ"].ToString());
                         *      while (VendaMatriz.Read())
                         *      {
                         *          if (int.Parse(VendaMatriz["Status"].ToString()) == 3)
                         *          {
                         *              Controle.ExecutaSQL("UPDATE MVVENDA SET STATUS=3,ID_ENTREGADOR=" + VendaMatriz["ID_ENTREGADOR"].ToString() + ",DATACONFIRMACAO=Convert(DateTime,'" + VendaMatriz["DATACONFIRMACAO"].ToString() + "',103),PREVENTREGA=Convert(DateTime,'" + VendaMatriz["PREVENTREGA"].ToString() + "',103) WHERE ID_VENDA=" + ConsVendas.Tables[0].Rows[I]["ID_VENDA"].ToString());
                         *              Controle.ExecutaSQL("UPDATE MvVenda Set Faturado=1 Where VinculoVd='" + string.Format("{0:D6}", int.Parse(ConsVendas.Tables[0].Rows[I]["ID_VENDA"].ToString())) + "'");
                         *          }
                         *          else
                         *          {
                         *              Controle.ExecutaSQL("UPDATE MVVENDA SET STATUS=" + VendaMatriz["Status"].ToString() + ",ID_ENTREGADOR=" + VendaMatriz["ID_ENTREGADOR"].ToString() + ",DATACONFIRMACAO=NULL,PREVENTREGA=Convert(DateTime,'" + VendaMatriz["PREVENTREGA"].ToString() + "',103) WHERE ID_VENDA=" + ConsVendas.Tables[0].Rows[I]["ID_VENDA"].ToString());
                         *              Controle.ExecutaSQL("UPDATE MvVenda Set Faturado=0 Where VinculoVd='" + string.Format("{0:D6}", int.Parse(ConsVendas.Tables[0].Rows[I]["ID_VENDA"].ToString())) + "'");
                         *          }
                         *      }
                         *      ProcBar.Value = ProcBar.Value + 1;
                         *  }
                         * }*/
                    }
                    Controle.ExecutaSQL("UPDATE PARAMETROS SET UltDataAtlz=Convert(DateTime, '" + Dt2.Value.Date.ToString() + "',103) WHERE ID_Filial=" + FrmPrincipal.Parametros_Filial.IdFilial.ToString());
                    MessageBox.Show("Atualização concluida", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    BtnConfirmar.Text    = "Atualizar";
                    BtnConfirmar.Enabled = true;
                }

                /*catch
                 * {
                 *  MessageBox.Show("Atenção: Erro na atualização da Referencia: " + ChaveRef + ", tente novamente", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 * }*/
            }
        }
示例#6
0
        public int Atualizar(XmlDocument XMLCad, int IdUsuario, int IdFilial)
        {
            SqlConnection Conexao = null;

            try
            {
                //string StringConexao = "Data Source=SERVIDOR; Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";

                Conexao = new SqlConnection(StringConexao);
                Conexao.Open();

                Funcoes Executar = new Funcoes();
                Executar.Conexao = Conexao;

                DataSet       TabCad    = new DataSet();
                XmlNodeReader xmlReader = new XmlNodeReader(XMLCad);
                TabCad.ReadXml(xmlReader);

                int  IdCad   = 0;
                bool NovoReg = true;
                if (TabCad.Tables[0].Rows.Count > 0)
                {
                    string Cnpj = TabCad.Tables[0].Rows[0]["Cnpj"].ToString().Trim();
                    if ((Cnpj == "00000000000000" || Cnpj == "11111111111111" || Cnpj == "22222222222222" || Cnpj == "33333333333333" || Cnpj == "44444444444444" ||
                         Cnpj == "55555555555555" || Cnpj == "66666666666666" || Cnpj == "77777777777777" || Cnpj == "88888888888888" || Cnpj == "99999999999999" ||
                         Cnpj == "00000000000" || Cnpj == "11111111111" || Cnpj == "22222222222" || Cnpj == "33333333333" || Cnpj == "44444444444" ||
                         Cnpj == "55555555555" || Cnpj == "66666666666" || Cnpj == "77777777777" || Cnpj == "88888888888" || Cnpj == "99999999999"))
                    {
                        Conexao.Dispose();
                        return(0);
                    }

                    //SqlDataReader PesqCad = Executar.ConsultaSQL("SELECT * FROM Pessoas WHERE Id_Pessoa=" + TabCad.Tables[0].Rows[0]["IdServidor"].ToString().Trim());
                    SqlDataReader PesqCad = Executar.ConsultaSQL("SELECT * FROM Pessoas WHERE Cnpj='" + TabCad.Tables[0].Rows[0]["Cnpj"].ToString().Trim() + "'");

                    if (PesqCad.HasRows)
                    {
                        PesqCad.Read();
                        IdCad = int.Parse(PesqCad["Id_Pessoa"].ToString());
                    }
                }
                else
                {
                    Conexao.Dispose();
                    return(0);
                }

                Auditoria RegAuditoria = new Auditoria();
                RegAuditoria.Controle = Executar;

                Pessoas CadPessoa = new Pessoas();
                CadPessoa.Controle = Executar;

                NovoReg = IdCad == 0;
                CadPessoa.LerDados(IdCad);
                CadPessoa.RazaoSocial      = TabCad.Tables[0].Rows[0]["RazaoSocial"].ToString().Trim();
                CadPessoa.Tipo             = int.Parse(TabCad.Tables[0].Rows[0]["Tipo"].ToString());
                CadPessoa.Fantasia         = TabCad.Tables[0].Rows[0]["Fantasia"].ToString().Trim();
                CadPessoa.Cnpj             = TabCad.Tables[0].Rows[0]["Cnpj"].ToString().Trim();
                CadPessoa.InscUF           = TabCad.Tables[0].Rows[0]["Insc_UF"].ToString().Trim();
                CadPessoa.Cep              = TabCad.Tables[0].Rows[0]["CEP"].ToString().Trim();
                CadPessoa.Endereco         = TabCad.Tables[0].Rows[0]["Endereco"].ToString().Trim();
                CadPessoa.Numero           = TabCad.Tables[0].Rows[0]["Numero"].ToString().Trim();
                CadPessoa.Complemento      = TabCad.Tables[0].Rows[0]["Complemento"].ToString().Trim();
                CadPessoa.Bairro           = TabCad.Tables[0].Rows[0]["Bairro"].ToString().Trim();
                CadPessoa.Cidade           = TabCad.Tables[0].Rows[0]["Cidade"].ToString().Trim();
                CadPessoa.IdUF             = int.Parse(TabCad.Tables[0].Rows[0]["ID_UF"].ToString());
                CadPessoa.Fone             = TabCad.Tables[0].Rows[0]["Fone"].ToString().Trim();
                CadPessoa.Fax              = TabCad.Tables[0].Rows[0]["Fax"].ToString().Trim();
                CadPessoa.Email            = TabCad.Tables[0].Rows[0]["Email"].ToString().Trim();
                CadPessoa.Contato          = TabCad.Tables[0].Rows[0]["Contato"].ToString().Trim();
                CadPessoa.Celular          = TabCad.Tables[0].Rows[0]["Celular"].ToString().Trim();
                CadPessoa.IdCusto          = int.Parse(TabCad.Tables[0].Rows[0]["Id_Custo"].ToString());
                CadPessoa.IdDepartamento   = int.Parse(TabCad.Tables[0].Rows[0]["Id_Departamento"].ToString());
                CadPessoa.IdAtividade      = int.Parse(TabCad.Tables[0].Rows[0]["Id_Atividade"].ToString());
                CadPessoa.IdTransportadora = int.Parse(TabCad.Tables[0].Rows[0]["Id_Transportadora"].ToString());
                CadPessoa.IdFormaPgto      = int.Parse(TabCad.Tables[0].Rows[0]["Id_FormaPgto"].ToString());
                CadPessoa.BloqFormaPgto    = int.Parse(TabCad.Tables[0].Rows[0]["BloqFormaPgto"].ToString());
                CadPessoa.IdCfop           = int.Parse(TabCad.Tables[0].Rows[0]["Id_Cfop"].ToString());
                CadPessoa.Observacao       = TabCad.Tables[0].Rows[0]["Observacao"].ToString().Trim();
                CadPessoa.IdRota           = int.Parse(TabCad.Tables[0].Rows[0]["Id_Rota"].ToString());
                CadPessoa.CepCobranca      = TabCad.Tables[0].Rows[0]["CEPCobranca"].ToString().Trim();
                CadPessoa.EndCobranca      = TabCad.Tables[0].Rows[0]["EndCobranca"].ToString().Trim();
                CadPessoa.NumCobranca      = TabCad.Tables[0].Rows[0]["NumCobranca"].ToString().Trim();
                CadPessoa.ComplCobranca    = TabCad.Tables[0].Rows[0]["ComplCobranca"].ToString().Trim();
                CadPessoa.BairroCobranca   = TabCad.Tables[0].Rows[0]["BairroCobranca"].ToString().Trim();
                CadPessoa.CidadeCobranca   = TabCad.Tables[0].Rows[0]["CidadeCobranca"].ToString().Trim();
                CadPessoa.IdUfCobranca     = int.Parse(TabCad.Tables[0].Rows[0]["ID_UFCobranca"].ToString());
                CadPessoa.Frete            = int.Parse(TabCad.Tables[0].Rows[0]["Frete"].ToString());
                CadPessoa.EmailNFE         = TabCad.Tables[0].Rows[0]["EmailNFE"].ToString().Trim();
                CadPessoa.IdVinculo        = int.Parse(TabCad.Tables[0].Rows[0]["Id_Vinculo"].ToString());
                CadPessoa.MargemNegocio    = int.Parse(TabCad.Tables[0].Rows[0]["MargemNegocio"].ToString());
                CadPessoa.NotificaAltPrc   = int.Parse(TabCad.Tables[0].Rows[0]["NotificaAltPrc"].ToString());
                CadPessoa.PrazoPgto        = TabCad.Tables[0].Rows[0]["PrazoPgto"].ToString().Trim();
                CadPessoa.ObsEntrega       = TabCad.Tables[0].Rows[0]["Obs_Entrega"].ToString().Trim();
                CadPessoa.CodMun           = int.Parse(TabCad.Tables[0].Rows[0]["CodMun"].ToString());
                CadPessoa.LimiteCredito    = decimal.Parse(TabCad.Tables[0].Rows[0]["LimiteCredito"].ToString());

                if (CadPessoa.IdPessoa == 0)
                {
                    int IdVendedor = 0;

                    if (TabCad.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim() != "")
                    {
                        Vendedores Vendedor     = new Vendedores();
                        Verificar  VerificarCad = new Verificar();
                        Vendedor.Controle     = Executar;
                        VerificarCad.Controle = Executar;

                        IdVendedor = VerificarCad.Verificar_ExisteCadastro("Id_Vendedor", "SELECT * FROM VENDEDORES WHERE VENDEDOR='" + TabCad.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim() + "'");

                        if (IdVendedor == 0)
                        {
                            Vendedor.LerDados(0);
                            Vendedor.Vendedor = TabCad.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim();
                            Vendedor.Ativo    = 0;
                            Vendedor.GravarDados();
                            IdVendedor = Vendedor.IdVendedor;
                        }
                    }
                    CadPessoa.PDescNFGrpOutros  = 0;
                    CadPessoa.PDescNFGrpTalimpo = 0;
                    CadPessoa.ForaMediaCom      = 0;
                    CadPessoa.NaoVerifQtdeCx    = 0;
                    CadPessoa.IdFilial          = int.Parse(TabCad.Tables[0].Rows[0]["Id_Filial"].ToString());
                    CadPessoa.Clie_Forn         = int.Parse(TabCad.Tables[0].Rows[0]["Clie_Forn"].ToString());
                    CadPessoa.IdVendedor        = IdVendedor;
                    CadPessoa.LimiteCredito     = 500;
                    CadPessoa.Ativo             = 1;
                }
                CadPessoa.GravarDados();

                if (NovoReg && CadPessoa.IdServidor == 0)
                {
                    //Executar.ExecutaSQL("Update Pessoas set IdServidor=" + CadPessoa.IdPessoa.ToString() + " Where Id_Pessoa=" + CadPessoa.IdPessoa.ToString());
                    RegAuditoria.Operacao = 1;
                }
                else
                {
                    RegAuditoria.Operacao = 2;
                }

                RegAuditoria.IdUsuario = IdUsuario;
                RegAuditoria.Terminal  = Conexao.WorkstationId;
                RegAuditoria.Data      = DateTime.Now;
                RegAuditoria.IdChave   = CadPessoa.IdPessoa;
                RegAuditoria.Documento = CadPessoa.Cnpj;
                RegAuditoria.Opcao     = "WEB SERVICE: Filial: " + IdFilial.ToString();
                RegAuditoria.Descricao = "Registro Via WEBSERVICE";
                RegAuditoria.Registrar();
                int Id = CadPessoa.IdPessoa;
                Conexao.Dispose();
                return(Id);
            }
            catch (Exception erro)
            {
                RegistroLog("Erro Registro de Venda: " + erro.ToString());
                return(0);  // Erro na consulta
            }
        }