private void CancelarButton_Click(Object sender, EventArgs e)
        {
            if (NumeroProcessoText.ReadOnly == false && !gtiCore.IsDate(DataProcessoText.Text))
            {
                MessageBox.Show("Número de processo não cadastrado.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            Tributario_bll tributario_Class = new Tributario_bll(_connection);

            if (MessageBox.Show("Confirmar operação?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
            {
                foreach (ListViewItem item in MainListView.Items)
                {
                    Int16   _ano       = Convert.ToInt16(item.Text);
                    Int16   _lanc      = Convert.ToInt16(item.SubItems[1].Text.Substring(0, 2));
                    Int16   _seq       = Convert.ToInt16(item.SubItems[2].Text);
                    Byte    _parc      = Convert.ToByte(item.SubItems[3].Text);
                    Byte    _compl     = Convert.ToByte(item.SubItems[4].Text);
                    Decimal _principal = Convert.ToDecimal(item.SubItems[6].Text);
                    Decimal _juros     = Convert.ToDecimal(item.SubItems[7].Text);
                    Decimal _multa     = Convert.ToDecimal(item.SubItems[8].Text);
                    Decimal _correcao  = Convert.ToDecimal(item.SubItems[9].Text);
                    Decimal _total     = Convert.ToDecimal(item.SubItems[10].Text);
                    Int32   _livro     = Convert.ToInt32(item.SubItems[11].Text);
                    Int32   _pagina    = Convert.ToInt32(item.SubItems[12].Text);

                    CustomListBoxItem _tipo_Cancel = (CustomListBoxItem)TipoList.SelectedItem;
                    Byte _status = Convert.ToByte(_tipo_Cancel._value);

                    Exception ex = tributario_Class.Alterar_Status_Lancamento(_codigo, _ano, _lanc, _seq, _parc, _compl, _status);
                    if (ex == null)
                    {
                        if (NumeroProcessoText.Text != "")
                        {
                            Processo_bll processo_Class   = new Processo_bll(_connection);
                            Int32        _numero_processo = processo_Class.ExtractNumeroProcessoNoDV(NumeroProcessoText.Text);
                            Int32        _ano_processo    = processo_Class.ExtractAnoProcesso(NumeroProcessoText.Text);
                            String       _processo        = "";
                            _processo = _numero_processo.ToString() + "/" + _ano_processo.ToString();

                            Debitocancel reg = new Debitocancel()
                            {
                                Numprocesso    = _processo,
                                Codreduzido    = _codigo,
                                Anoexercicio   = _ano,
                                Codlancamento  = _lanc,
                                Seqlancamento  = _seq,
                                Numparcela     = _parc,
                                Codcomplemento = _compl,
                                Datacancel     = DateTime.Now,
                                Motivo         = MotivoText.Text.Trim(),
                                Userid         = _UserId
                            };

                            ex = tributario_Class.Excluir_Debito_Cancel(reg);
                            if (ex == null)
                            {
                                ex = tributario_Class.Insert_Debito_Cancel(reg);
                                if (ex != null)
                                {
                                    ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex);
                                    eBox.ShowDialog();
                                }
                                else
                                {
                                    //Gravar no log do sistema
                                    String _obs = "Ano:" + _ano.ToString() + " Código:" + _codigo.ToString() + " Lançamento:" + _lanc.ToString();
                                    _obs += " Seq:" + _seq.ToString() + " Parcela:" + _parc.ToString() + " Compl:" + _compl.ToString();
                                    _obs += " Vencto:" + item.SubItems[5].Text + " Motivo: " + MotivoText.Text;
                                    Sistema_bll sistema_Class = new Sistema_bll(_connection);
                                    Logevento   _log          = new Logevento()
                                    {
                                        Computador     = Environment.MachineName,
                                        Datahoraevento = DateTime.Now,
                                        LogEvento      = _obs,
                                        Evento         = 3,
                                        Secevento      = (Int16)gtiCore.EventoForm.Delete,
                                        Form           = Name,
                                        Userid         = _UserId
                                    };
                                    ex = sistema_Class.Incluir_LogEvento(_log);
                                    if (ex != null)
                                    {
                                        ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex);
                                        eBox.ShowDialog();
                                    }
                                    else
                                    {
                                    }
                                }
                            }
                            else
                            {
                                ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex);
                                eBox.ShowDialog();
                            }
                        } //Cancelar na Integrativa
                        Cancelamentos _creg = new Cancelamentos()
                        {
                            Dtcancelamento = DateTime.Now,
                            Iddevedor      = _codigo,
                            Nrolivro       = _livro,
                            Nrofolha       = _pagina,
                            Seq            = _seq,
                            Lancamento     = _lanc,
                            Exercicio      = _ano,
                            Vlroriginal    = _principal,
                            Vlrjuros       = _juros,
                            Vlrmulta       = _multa,
                            Vlrtotal       = _total,
                            Nroparcela     = _parc,
                            Complparcela   = _compl,
                            Dtgeracao      = DateTime.Now
                        };
                        Integrativa_bll tributario_Class_Int = new Integrativa_bll(_connection_integrativa);
                        ex = tributario_Class_Int.Insert_Integrativa_Cancelamento(_creg);
                        if (ex != null)
                        {
                            ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex);
                            eBox.ShowDialog();
                        }
                    }
                    else
                    {
                        ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex);
                        eBox.ShowDialog();
                    }
                }

                DialogResult = DialogResult.OK;
                Close();
            }
        }
        private void Grava_Dados()
        {
            Sistema_bll    sistema_Class    = new Sistema_bll(_connection);
            Tributario_bll tributario_Class = new Tributario_bll(_connection);

            GTI_Models.modelCore.TipoCadastro _tipo_cadastro = sistema_Class.Tipo_Cadastro(_codigo);

            Contribuinte_Header_Struct _header = sistema_Class.Contribuinte_Header(_codigo);

            string _tipo_divida = _tipo_cadastro == GTI_Models.modelCore.TipoCadastro.Imovel ? "Imobiliário" :
                                  _tipo_cadastro == GTI_Models.modelCore.TipoCadastro.Cidadao ? "Taxas Diversas" : "Mobiliário";
            int _certidao = tributario_Class.Retorna_Ultima_Certidao_Livro(_numero_livro);
            int _pagina   = _certidao;

            Cdas regCda = new Cdas()
            {
                Iddevedor    = _codigo.ToString(),
                Setordevedor = _tipo_divida,
                Dtinscricao  = Convert.ToDateTime(DataInscricaoText.Text),
                Nrocertidao  = _certidao,
                Nrolivro     = _numero_livro,
                Nrofolha     = _pagina,
                Dtgeracao    = DateTime.Now
            };
            Integrativa_bll integrativa_Class = new Integrativa_bll(_connection_integrativa);
            int             _idCda            = integrativa_Class.Insert_Integrativa_Cda(regCda);

            if (_tipo_cadastro != GTI_Models.modelCore.TipoCadastro.Cidadao)
            {
                Cadastro regCadastro = new Cadastro()
                {
                    Idcda              = _idCda,
                    Setordevedor       = _tipo_divida,
                    Crc                = _codigo,
                    Nome               = _header.Nome,
                    Inscricao          = _header.Inscricao,
                    Cpfcnpj            = _header.Cpf_cnpj,
                    Rginscrestadual    = _header.Rg,
                    Localcep           = _header.Cep,
                    Localendereco      = _header.Endereco,
                    Localnumero        = _header.Numero,
                    Localcomplemento   = _header.Complemento,
                    Localbairro        = _header.Nome_bairro,
                    Localcidade        = _header.Nome_cidade,
                    LocalEstado        = _header.Nome_uf,
                    Quadra             = _header.Quadra_original,
                    Lote               = _header.Lote_original,
                    Entregacep         = _header.Cep_entrega,
                    Entregaendereco    = _header.Endereco_entrega,
                    Entreganumero      = _header.Numero_entrega,
                    Entregabairro      = _header.Nome_bairro_entrega,
                    Entregacomplemento = _header.Complemento_entrega,
                    Entregacidade      = _header.Nome_cidade_entrega,
                    Entregaestado      = _header.Nome_uf_entrega,
                    Dtgeracao          = DateTime.Now
                };
                integrativa_Class = new Integrativa_bll(_connection_integrativa);
                int _idCadastro = integrativa_Class.Insert_Integrativa_Cadastro(regCadastro);
            }
            else
            {
                Partes regPartes = new Partes()
                {
                    Idcda           = _idCda,
                    Tipo            = "Principal",
                    Crc             = _codigo,
                    Nome            = _header.Nome,
                    Cpfcnpj         = _header.Cpf_cnpj,
                    Rginscrestadual = _header.Rg,
                    Cep             = _header.Cep,
                    Endereco        = _header.Endereco,
                    Numero          = _header.Numero,
                    Complemento     = _header.Complemento,
                    Bairro          = _header.Nome_bairro,
                    Cidade          = _header.Nome_cidade,
                    Estado          = _header.Nome_uf,
                    Dtgeracao       = DateTime.Now
                };
                integrativa_Class = new Integrativa_bll(_connection_integrativa);
                int _idPartes = integrativa_Class.Insert_Integrativa_Partes(regPartes);
            }
            Imovel_bll  imovel_Class  = new Imovel_bll(_connection);
            Cidadao_bll cidadao_Class = new Cidadao_bll(_connection);
            Empresa_bll empresa_class = new Empresa_bll(_connection);

            if (_tipo_cadastro == GTI_Models.modelCore.TipoCadastro.Imovel)
            {
                List <ProprietarioStruct> ListaPropImovel = imovel_Class.Lista_Proprietario(_codigo);
                foreach (ProprietarioStruct item in ListaPropImovel)
                {
                    CidadaoStruct _cidadao  = cidadao_Class.Dados_Cidadao(item.Codigo);
                    Partes        regPartes = new Partes()
                    {
                        Idcda           = _idCda,
                        Tipo            = item.Principal ? "Principal" : "Compromissário",
                        Crc             = _codigo,
                        Nome            = _cidadao.Nome,
                        Cpfcnpj         = string.IsNullOrWhiteSpace(_cidadao.Cnpj) ? _cidadao.Cpf : _cidadao.Cnpj,
                        Rginscrestadual = _cidadao.Rg,
                        Dtgeracao       = DateTime.Now
                    };
                    if (_cidadao.EtiquetaR == "C")
                    {
                        regPartes.Cep         = _cidadao.CepC.ToString();
                        regPartes.Endereco    = _cidadao.EnderecoC;
                        regPartes.Numero      = _cidadao.NumeroC;
                        regPartes.Complemento = _cidadao.ComplementoC;
                        regPartes.Bairro      = _cidadao.NomeBairroC;
                        regPartes.Cidade      = _cidadao.NomeCidadeC;
                        regPartes.Estado      = _cidadao.UfC;
                    }
                    else
                    {
                        regPartes.Cep         = _cidadao.CepR.ToString();
                        regPartes.Endereco    = _cidadao.EnderecoR;
                        regPartes.Numero      = _cidadao.NumeroR;
                        regPartes.Complemento = _cidadao.ComplementoR;
                        regPartes.Bairro      = _cidadao.NomeBairroR;
                        regPartes.Cidade      = _cidadao.NomeCidadeR;
                        regPartes.Estado      = _cidadao.UfR;
                    }
                    integrativa_Class = new Integrativa_bll(_connection_integrativa);
                    int _idPartes = integrativa_Class.Insert_Integrativa_Partes(regPartes);
                }
            }
            else
            {
                if (_tipo_cadastro == GTI_Models.modelCore.TipoCadastro.Empresa)
                {
                    List <CidadaoStruct> ListaSocio = empresa_class.ListaSocio(_codigo);
                    foreach (CidadaoStruct item in ListaSocio)
                    {
                        CidadaoStruct _cidadao  = cidadao_Class.Dados_Cidadao(item.Codigo);
                        Partes        regPartes = new Partes()
                        {
                            Idcda           = _idCda,
                            Tipo            = "Sócio",
                            Crc             = _codigo,
                            Nome            = _cidadao.Nome,
                            Cpfcnpj         = string.IsNullOrWhiteSpace(_cidadao.Cnpj) ? _cidadao.Cpf : _cidadao.Cnpj,
                            Rginscrestadual = _cidadao.Rg,
                            Dtgeracao       = DateTime.Now
                        };
                        if (_cidadao.EtiquetaR == "C")
                        {
                            regPartes.Cep         = _cidadao.CepC.ToString();
                            regPartes.Endereco    = _cidadao.EnderecoC;
                            regPartes.Numero      = _cidadao.NumeroC;
                            regPartes.Complemento = _cidadao.ComplementoC;
                            regPartes.Bairro      = _cidadao.NomeBairroC;
                            regPartes.Cidade      = _cidadao.NomeCidadeC;
                            regPartes.Estado      = _cidadao.UfC;
                        }
                        else
                        {
                            regPartes.Cep         = _cidadao.CepR.ToString();
                            regPartes.Endereco    = _cidadao.EnderecoR;
                            regPartes.Numero      = _cidadao.NumeroR;
                            regPartes.Complemento = _cidadao.ComplementoR;
                            regPartes.Bairro      = _cidadao.NomeBairroR;
                            regPartes.Cidade      = _cidadao.NomeCidadeR;
                            regPartes.Estado      = _cidadao.UfR;
                        }
                        integrativa_Class = new Integrativa_bll(_connection_integrativa);
                        int _idPartes = integrativa_Class.Insert_Integrativa_Partes(regPartes);
                    }
                }
            }

            foreach (ListViewItem linha in MainListView.Items)
            {
                short _ano   = Convert.ToInt16(linha.Text);
                short _lanc  = Convert.ToInt16(linha.SubItems[1].Text.Substring(0, 2));
                short _seq   = Convert.ToInt16(linha.SubItems[2].Text);
                byte  _parc  = Convert.ToByte(linha.SubItems[3].Text);
                byte  _compl = Convert.ToByte(linha.SubItems[4].Text);

                Exception ex = tributario_Class.Inscrever_Divida_Ativa(_codigo, _ano, _lanc, _seq, _parc, _compl, _numero_livro, _pagina, _certidao, Convert.ToDateTime(DataInscricaoText.Text));

                foreach (SpExtrato item in _listaTributo)
                {
                    if (item.Anoexercicio == _ano && item.Codlancamento == _lanc && item.Seqlancamento == _seq && item.Numparcela == _parc && item.Codcomplemento == _compl)
                    {
                        Cdadebitos regCdaDebito = new Cdadebitos()
                        {
                            Idcda        = _idCda,
                            Codtributo   = item.Codtributo,
                            Tributo      = item.Abrevtributo,
                            Exercicio    = _ano,
                            Lancamento   = _lanc,
                            Seq          = _seq,
                            Nroparcela   = _parc,
                            Complparcela = _compl,
                            Dtvencimento = item.Datavencimento,
                            Vlroriginal  = item.Valortributo,
                            Vlrmultas    = item.Valormulta,
                            Vlrjuros     = item.Valorjuros,
                            Vlrcorrecao  = item.Valorcorrecao,
                            Dtgeracao    = DateTime.Now
                        };
                        int _IdCdaDebito = integrativa_Class.Insert_Integrativa_CdaDebito(regCdaDebito);
                    }
                }
            }
        }