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; }
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; }