Example #1
0
        public Int32 GravaDetalheDAM(List<DebitoStructure> lstDebito, string nNumDoc, DateTime DataBoleto,decimal nValorGuia) {
            int nSid = gtiCore.GetRandomNumber(), nCodigo = lstDebito[0].Codigo_Reduzido, nNumero = 0, Pos = 0;
            string sInscricao = "", sNome = "", sQuadra = "", sLote = "", sCPF = "", sEndereco = "", sComplemento = "", sBairro = "", sCidade = "", sUF = "";
            decimal SomaPrincipal = 0, SomaTotal = 0;

            gtiCore.TipoContribuinte tpContribuinte = nCodigo < 100000 ?
                gtiCore.TipoContribuinte.Imovel : nCodigo >= 100000 && nCodigo < 400000 ? gtiCore.TipoContribuinte.Empresa : gtiCore.TipoContribuinte.Cidadao;

            clsGlobal global_class = new clsGlobal();
            Dados_Basicos regDados = global_class.Retorna_Dados_Basicos(nCodigo);
            sNome = regDados.nome;
            sCPF = regDados.cpf_cnpj;
            sInscricao = regDados.Inscricao;
            sQuadra = "";
            sLote = "";
            sEndereco = regDados.endereco == null ? "" : regDados.endereco;
            nNumero = regDados.numero;
            sComplemento = regDados.complemento == null ? "" : regDados.complemento;
            sBairro = regDados.nome_bairro == null ? "" : regDados.nome_bairro;
            sCidade = regDados.nome_cidade == null ? "" : regDados.nome_cidade;
            sUF = regDados.nome_uf;

            global_class.DeleteSid(nSid);

            foreach (DebitoStructure reg in lstDebito) {
                SomaPrincipal += Convert.ToDecimal(reg.Soma_Principal);
                SomaTotal += Convert.ToDecimal(reg.Soma_Total);
            }

            StringBuilder sFullLanc = new StringBuilder();

            foreach (DebitoStructure Lanc in lstDebito) {
                if (sFullLanc.ToString().IndexOf(Lanc.Descricao_Lancamento) == -1) {
                    String DescLanc = Lanc.Descricao_Lancamento;
                    sFullLanc.Append(DescLanc + "/");
                }
            }
            sFullLanc.Remove(sFullLanc.Length - 1, 1);


            decimal nValorTotal = nValorGuia;


            foreach (DebitoStructure reg in lstDebito) {
                try {
                    boleto regBoleto = new boleto();
                    regBoleto.usuario = "GTI.Web.Dam";
                    regBoleto.computer = "Internet";
                    regBoleto.sid = nSid;
                    regBoleto.seq = Convert.ToInt16(Pos);
                    regBoleto.inscricao = sInscricao;
                    regBoleto.codreduzido = reg.Codigo_Reduzido.ToString();
                    regBoleto.nome = gtiCore.Truncate(sNome.Trim(), 37, "...");
                    regBoleto.cpf = sCPF;
                    regBoleto.endereco = gtiCore.Truncate(sEndereco, 37, "...");
                    regBoleto.numimovel = Convert.ToInt16(nNumero);
                    regBoleto.complemento = gtiCore.Truncate(sComplemento, 27, "...");
                    regBoleto.bairro = gtiCore.Truncate(sBairro, 27, "...");
                    regBoleto.cidade = sCidade;
                    regBoleto.uf = sUF;
                    regBoleto.quadra = gtiCore.Truncate(sQuadra, 15, "");
                    regBoleto.lote = gtiCore.Truncate(sLote, 10, "");
                    regBoleto.fulllanc = gtiCore.Truncate(sFullLanc.ToString(), 1997, "...");
                    regBoleto.fulltrib = gtiCore.Truncate(reg.Descricao_Tributo.Trim(), 1997, "...");
                    regBoleto.numdoc = "0";
                    regBoleto.datadam = Convert.ToDateTime(DataBoleto);
                    regBoleto.nomefunc = "GTI.Web";
                    regBoleto.anoexercicio = reg.Ano_Exercicio;
                    regBoleto.codlancamento = Convert.ToInt16(reg.Codigo_Lancamento);
                    regBoleto.seqlancamento = Convert.ToInt16(reg.Sequencia_Lancamento);
                    regBoleto.numparcela = Convert.ToInt16(reg.Numero_Parcela);
                    regBoleto.codcomplemento = Convert.ToInt16(reg.Complemento);
                    regBoleto.datavencto = Convert.ToDateTime(reg.Data_Vencimento);
                    regBoleto.aj = reg.Data_Ajuizamento == null || reg.Data_Ajuizamento == DateTime.MinValue ? "N" : "S";
                    regBoleto.da = reg.Ano_Exercicio == DateTime.Now.Year ? "N" : "S";
                    regBoleto.principal = Convert.ToDecimal(reg.Soma_Principal);
                    regBoleto.juros = Convert.ToDecimal(reg.Soma_Juros);
                    regBoleto.multa = Convert.ToDecimal(reg.Soma_Multa);
                    regBoleto.correcao = Convert.ToDecimal(reg.Soma_Correcao);
                    regBoleto.total = Convert.ToDecimal(reg.Soma_Total);
                    regBoleto.numdoc2 = nNumDoc;
                    regBoleto.digitavel = "";
                    regBoleto.codbarra = "";
                    regBoleto.valordam = nValorGuia;
                    regBoleto.valorprincdam = SomaPrincipal;
                    regBoleto.numbarra2a = "";
                    regBoleto.numbarra2b = "";
                    regBoleto.numbarra2c = "";
                    regBoleto.numbarra2d ="";
                    InsertBoletoDam(regBoleto);
                    Pos++;
                } catch (SqlException ex) {
                    throw new Exception(ex.Message);
                } catch (Exception ex) {
                    throw new Exception(ex.Message);
                }
            }
            return nSid;
        }
Example #2
0
        public Int32 GravaBoletoDAM(List<DebitoStructure> lstDebito, Int32 nNumDoc, DateTime DataBoleto) {
            int nSid = gtiCore.GetRandomNumber(), nCodigo = lstDebito[0].Codigo_Reduzido, nNumero = 0, Pos = 0;
            string sInscricao = "", sNome = "",sQuadra = "", sLote = "", sCPF = "", sEndereco = "", sComplemento = "", sBairro = "", sCidade = "", sUF = "";
            decimal SomaPrincipal = 0, SomaTotal = 0;

            string sNumDoc = nNumDoc.ToString() + "-" + gtiCore.RetornaDVDocumento(nNumDoc).ToString();
            string sNumDoc2 = nNumDoc.ToString() + gtiCore.RetornaDVDocumento(nNumDoc).ToString();
            string sNumDoc3 = nNumDoc.ToString() + gtiCore.Modulo11(nNumDoc.ToString("0000000000000")).ToString();

            gtiCore.TipoContribuinte tpContribuinte = nCodigo < 100000 ? 
                gtiCore.TipoContribuinte.Imovel : nCodigo >= 100000 && nCodigo < 400000 ? gtiCore.TipoContribuinte.Empresa : gtiCore.TipoContribuinte.Cidadao;

            clsGlobal global_class = new clsGlobal();
            Dados_Basicos regDados = global_class.Retorna_Dados_Basicos(nCodigo);
            sNome = regDados.nome;
            sCPF = regDados.cpf_cnpj;
            sInscricao = regDados.Inscricao;
            sQuadra = "";
            sLote = "";
            sEndereco = regDados.endereco == null ? "" : regDados.endereco;
            nNumero = regDados.numero;
            sComplemento = regDados.complemento == null ? "" : regDados.complemento;
            sBairro = regDados.nome_bairro == null ? "" : regDados.nome_bairro;
            sCidade = regDados.nome_cidade == null ? "" : regDados.nome_cidade;
            sUF = regDados.nome_uf;

            global_class.DeleteSid(nSid);

            foreach (DebitoStructure reg in lstDebito) {
                SomaPrincipal +=  Convert.ToDecimal(reg.Soma_Principal);
                SomaTotal += Convert.ToDecimal(reg.Soma_Total);
            }

            StringBuilder sFullLanc = new StringBuilder();

            foreach (DebitoStructure Lanc in lstDebito) {
                if (sFullLanc.ToString().IndexOf(Lanc.Descricao_Lancamento) == -1) {
                    String DescLanc = Lanc.Descricao_Lancamento;
                    sFullLanc.Append(DescLanc + "/");
                }
            }
            sFullLanc.Remove(sFullLanc.Length - 1, 1);

            //codigo de barras
            /*            String sNossoNumero = "2678478";
                        String sDigitavel = "001900000";
                        String sDV = gtiCore.Calculo_DV10(sDigitavel).ToString().Trim();
                        sDigitavel += sDV + "0" + sNossoNumero + "01";
                        sDV = gtiCore.Calculo_DV10(gtiCore.strRight(sDigitavel, 10)).ToString().Trim();
                        sDigitavel += sDV + gtiCore.strRight(sNumDoc3, 8) + "18";
                        sDV = gtiCore.Calculo_DV10(gtiCore.strRight(sDigitavel, 10)).ToString().Trim();
                        sDigitavel += sDV;

                        DateTime dDataBase = DateTime.ParseExact("07/10/1997", "dd/MM/yyyy", null);
                        Int32 FatorVencto = ((TimeSpan)(DataBoleto - dDataBase)).Days;
                        String sQuintoGrupo = FatorVencto.ToString("0000");
                        sQuintoGrupo += Convert.ToInt32(gtiCore.RetornaNumero(SomaTotal.ToString("#0.00"))).ToString("0000000000");

                        String sBarra = "0019" + FatorVencto.ToString("0000") + Convert.ToInt32(gtiCore.RetornaNumero(SomaTotal.ToString("#0.00"))).ToString("0000000000") + "00000026784780";
                        sBarra += sNumDoc3 + "18";
                        sDV = gtiCore.Calculo_DV11(sBarra).ToString().Trim();
                        sBarra = sBarra.Substring(0, 4) + sDV + sBarra.Substring(4, sBarra.Length - 4);

                        sDigitavel += sDV + sQuintoGrupo;
                        String sDigitavel2 = sDigitavel.Substring(0, 5) + "." + sDigitavel.Substring(5, 5) + " " + sDigitavel.Substring(10, 5) + "." + sDigitavel.Substring(15, 6) + " ";
                        sDigitavel2 += sDigitavel.Substring(21, 5) + "." + sDigitavel.Substring(26, 6) + " " + sDigitavel.Substring(32, 1) + " " + sDigitavel.Substring(sDigitavel.Length - 14);
                        sBarra = gtiCore.Gera2of5Str(sBarra);*/

            decimal nValorguia = Math.Truncate(Convert.ToDecimal(SomaTotal * 100));
            string NumBarra = gtiCore.Gera2of5Cod((nValorguia).ToString(), Convert.ToDateTime(DataBoleto), Convert.ToInt32(nNumDoc), Convert.ToInt32(nCodigo));
            string numbarra2a = NumBarra.Substring(0, 13);
            string numbarra2b = NumBarra.Substring(13, 13);
            string numbarra2c = NumBarra.Substring(26, 13);
            string numbarra2d = NumBarra.Substring(39, 13);
            string strBarra = gtiCore.Gera2of5Str(numbarra2a.Substring(0, 11) + numbarra2b.Substring(0, 11) + numbarra2c.Substring(0, 11) + numbarra2d.Substring(0, 11));
            string sBarra = gtiCore.Mask(strBarra);



            foreach (DebitoStructure reg in lstDebito) {
                try {
                    boleto regBoleto = new boleto();
                    regBoleto.usuario = "GTI.Web.Dam";
                    regBoleto.computer = "Internet";
                    regBoleto.sid = nSid;
                    regBoleto.seq = Convert.ToInt16(Pos);
                    regBoleto.inscricao = sInscricao;
                    regBoleto.codreduzido = reg.Codigo_Reduzido.ToString();
                    regBoleto.nome = gtiCore.Truncate(sNome.Trim(), 37, "...");
                    regBoleto.cpf = sCPF;
                    regBoleto.endereco = gtiCore.Truncate(sEndereco, 37, "...");
                    regBoleto.numimovel = Convert.ToInt16(nNumero);
                    regBoleto.complemento = gtiCore.Truncate(sComplemento, 27, "...");
                    regBoleto.bairro = gtiCore.Truncate(sBairro, 27, "...");
                    regBoleto.cidade = sCidade;
                    regBoleto.uf = sUF;
                    regBoleto.quadra=gtiCore.Truncate(sQuadra, 15, "");
                    regBoleto.lote=gtiCore.Truncate(sLote, 10, "");
                    regBoleto.fulllanc = gtiCore.Truncate(sFullLanc.ToString(), 1997, "...");
                    regBoleto.fulltrib = gtiCore.Truncate(reg.Descricao_Tributo.Trim(), 1997, "...");
                    regBoleto.numdoc = sNumDoc;
                    regBoleto.datadam =Convert.ToDateTime(DataBoleto);
                    regBoleto.nomefunc = "GTI.Web";
                    regBoleto.anoexercicio = reg.Ano_Exercicio;
                    regBoleto.codlancamento = Convert.ToInt16(reg.Codigo_Lancamento);
                    regBoleto.seqlancamento = Convert.ToInt16(reg.Sequencia_Lancamento);
                    regBoleto.numparcela = Convert.ToInt16(reg.Numero_Parcela);
                    regBoleto.codcomplemento = Convert.ToInt16(reg.Complemento);
                    regBoleto.datavencto = Convert.ToDateTime(reg.Data_Vencimento);
                    regBoleto.aj = reg.Data_Ajuizamento==null||  reg.Data_Ajuizamento == DateTime.MinValue ? "N" : "S";
                    regBoleto.da = reg.Ano_Exercicio == DateTime.Now.Year ? "N" : "S";
                    regBoleto.principal = Convert.ToDecimal(reg.Soma_Principal);
                    regBoleto.juros = Convert.ToDecimal(reg.Soma_Juros);
                    regBoleto.multa = Convert.ToDecimal(reg.Soma_Multa);
                    regBoleto.correcao = Convert.ToDecimal(reg.Soma_Correcao);
                    regBoleto.total = Convert.ToDecimal(reg.Soma_Total);
                    regBoleto.numdoc2 = sNumDoc2;
                    regBoleto.digitavel = "";
                    regBoleto.codbarra = sBarra;
                    regBoleto.valordam = SomaTotal;
                    regBoleto.valorprincdam = SomaPrincipal;
                    regBoleto.numbarra2a = numbarra2a;
                    regBoleto.numbarra2b = numbarra2b;
                    regBoleto.numbarra2c = numbarra2c;
                    regBoleto.numbarra2d = numbarra2d;
                    InsertBoletoDam(regBoleto);
                    Pos++;
                } catch (SqlException ex) {
                    throw new Exception(ex.Message);
                } catch (Exception ex) {
                    throw new Exception(ex.Message);
                }
            }
            return nSid;
        }