public ParametrosSaida GerarBoleto ( int TipoCedente, int Banco, Int64 EmpresaId, string Emissao, string codTipoVencimento, string Vencimento, string codEspDocumento, double Valor, double Abatimento, double IOF, Int64 codMunicipio, string cidade, string uf, string cep, string endereco, string bairro, string nomeSacado, string cpfCGC, Int64 Cobranca, string Instrucao1, string Instrucao2, string Instrucao3, string Instrucao4, string Instrucao5 ) { /*Parametros de Retorno*/ ParametrosSaida RetornoBoleto = new ParametrosSaida(); if (TipoCedente == 1) { /*Empresa do Grupo*/ if (Banco == 756) { /*SICOOB*/ SicoobNegocios Sicoob_N = new SicoobNegocios(); BancoController Banco_F = new BancoController(); Banco_F.TB018_Banco = Banco; Banco_F.TB018_Tipo = TipoCedente; Banco_F.TB018_EmpresaId = EmpresaId; //Banco_F.TB018_Agencia = "4368"; //Banco_F.TB018_ContaCorrente = "412481"; //string dataEmissao = Emissao.Year.ToString() + Emissao.Month.ToString().PadLeft(2, '0') + Emissao.Day.ToString().PadLeft(2, '0'); //string dataVencimentoTit = Vencimento.Year.ToString() + Vencimento.Month.ToString().PadLeft(2, '0') + Vencimento.Day.ToString().PadLeft(2, '0'); string valorTitulo = Convert.ToString(Valor).Replace(",", "."); string valorAbatimento = Convert.ToString(Abatimento).Replace(",", "."); string valorIOF = Convert.ToString(IOF).Replace(",", "."); RetornoBoleto = Sicoob_N.Emissao240(Banco_F, Emissao, codTipoVencimento, Vencimento, codEspDocumento, valorTitulo, valorAbatimento, valorIOF, codMunicipio.ToString(), nomeSacado, cpfCGC.Replace(".", "").Replace("-", "").Replace("/", ""), endereco, bairro, cidade, cep.Replace("-", "").Replace(".", "").Replace(" ", ""), uf.ToUpper(), Cobranca.ToString(), Instrucao1, Instrucao2, Instrucao3, Instrucao4, Instrucao5); } } else {/*Empresa Terceira*/ } return(RetornoBoleto); }
public ParametrosSaida Emissao240( BancoController Banco_F, string dataEmissao, string codTipoVencimento, string dataVencimentoTit, string codEspDocumento, string valorTitulo, string valorAbatimento, string valorIOF, string codMunicipio, string nomeSacado, string cpfCGC, string endereco, string bairro, string cidade, string cep, string uf, string Cobranca, string Instrucao1, string Instrucao2, string Instrucao3, string Instrucao4, string Instrucao5 ) { StringBuilder Dados = new StringBuilder(); StringBuilder BoletoCarne = new StringBuilder(); ParametrosSaida RetornoBoleto = new ParametrosSaida(); RetornoBoleto.ErroDesc = "SEM ERRO."; try { StringBuilder Parametros = new StringBuilder(); /*Pesquisa no banco*/ BancoDAO Banco_D = new BancoDAO(); BancoController Banco = Banco_D.SP_S_TB018_BancosBoleto(Banco_F); String url = Banco.TB018_url; Parametros.Append("numContaCorrente="); Parametros.Append(Banco.TB018_ContaCorrente); Parametros.Append("&"); Parametros.Append("coopCartao="); Parametros.Append(Banco.TB018_Cartao); Parametros.Append("&"); Parametros.Append("numCliente="); Parametros.Append(Banco.TB018_Cliente); Parametros.Append("&"); Parametros.Append("chaveAcessoWeb="); Parametros.Append(Banco.TB018_chaveAcesso); Parametros.Append("&"); /*Dados */ Parametros.Append("dataEmissao="); Parametros.Append(dataEmissao); Parametros.Append("&"); Parametros.Append("codTipoVencimento="); Parametros.Append(codTipoVencimento); Parametros.Append("&dataVencimentoTit="); Parametros.Append(dataVencimentoTit); Parametros.Append("&codEspDocumento="); Parametros.Append(codEspDocumento.Trim()); Parametros.Append("&valorTitulo="); Parametros.Append(valorTitulo); Parametros.Append("&valorAbatimento="); Parametros.Append(valorAbatimento); Parametros.Append("&valorIOF="); Parametros.Append(valorIOF.TrimEnd()); Parametros.Append("&nomeSacado="); Parametros.Append(nomeSacado.TrimEnd()); Parametros.Append("&cpfCGC="); Parametros.Append(cpfCGC.TrimEnd()); Parametros.Append("&endereco="); Parametros.Append(endereco.TrimEnd()); Parametros.Append("&bairro="); Parametros.Append(bairro); Parametros.Append("&cidade="); Parametros.Append(cidade.TrimEnd()); Parametros.Append("&cep="); Parametros.Append(cep); Parametros.Append("&uf="); Parametros.Append(uf.TrimEnd()); Parametros.Append("&codMunicipio=1009"); //Parametros.Append(codMunicipio); if (Instrucao1.TrimEnd() != "NULO") { Parametros.Append("&descInstrucao1="); Parametros.Append(Instrucao1.TrimEnd()); } if (Instrucao2.TrimEnd() != "NULO") { Parametros.Append("&descInstrucao2="); Parametros.Append(Instrucao2.TrimEnd()); } if (Instrucao3.TrimEnd() != "NULO") { Parametros.Append("&descInstrucao3="); Parametros.Append(Instrucao3.TrimEnd()); } if (Instrucao4.TrimEnd() != "NULO") { Parametros.Append("&descInstrucao4="); Parametros.Append(Instrucao4.TrimEnd()); } if (Instrucao5.TrimEnd() != "NULO") { Parametros.Append("&descInstrucao5="); Parametros.Append(Instrucao5.TrimEnd()); } Parametros.Append("&seuNumero="); Parametros.Append(Cobranca); Parametros.Append("&percTaxaMulta=2.0"); Parametros.Append("&percTaxaMora=1.0"); //Parametros.Append(1); String query = Parametros.ToString(); // Declarações necessárias Stream requestStream = null; WebResponse response = null; StreamReader reader = null; try { WebRequest request = WebRequest.Create(url); request.Method = WebRequestMethods.Http.Post; // Neste ponto, você está setando a propriedade ContentType da página // para urlencoded para que o comando POST seja enviado corretamente request.ContentType = "application/x-www-form-urlencoded"; StringBuilder urlEncoded = new StringBuilder(); // Separando cada parâmetro Char[] reserved = { '?', '=', 'a' }; // alocando o bytebuffer byte[] byteBuffer = null; // caso a URL seja preenchida if (query != null) { int i = 0, j; // percorre cada caractere da url atraz das palavras reservadas para separação // dos parâmetros while (i < query.Length) { j = query.IndexOfAny(reserved, i); if (j == -1) { urlEncoded.Append(query.Substring(i, query.Length - i)); break; } urlEncoded.Append(query.Substring(i, j - i)); urlEncoded.Append(query.Substring(j, 1)); i = j + 1; } // codificando em UTF8 (evita que sejam mostrados códigos malucos em caracteres especiais byteBuffer = Encoding.UTF8.GetBytes(urlEncoded.ToString()); request.ContentLength = byteBuffer.Length; requestStream = request.GetRequestStream(); requestStream.Write(byteBuffer, 0, byteBuffer.Length); requestStream.Close(); } else { request.ContentLength = 0; } // Dados recebidos response = request.GetResponse(); Stream responseStream = response.GetResponseStream(); //Codifica os caracteres especiais para que possam ser exibidos corretamente System.Text.Encoding encoding = System.Text.Encoding.Default; //Preenche o reader reader = new StreamReader(responseStream, encoding); Char[] charBuffer = new Char[256]; int count = reader.Read(charBuffer, 0, charBuffer.Length); // Lê cada byte para preencher meu stringbuilder while (count > 0) { StringBuilder Linha = new StringBuilder(); Linha.Append(new String(charBuffer, 0, count)); Linha.Replace("src='sicooblogo.gif'", "src='https://geraboleto.sicoobnet.com.br/geradorBoleto/sicooblogo.gif'"); Linha.Replace("linhaPontilhada.JPG", "https://geraboleto.sicoobnet.com.br/geradorBoleto/linhaPontilhada.JPG"); Linha.Replace("src='sicooblogo.gif'", "src='https://geraboleto.sicoobnet.com.br/geradorBoleto/sicooblogo.gif'"); Dados.Append(Linha.ToString()); count = reader.Read(charBuffer, 0, charBuffer.Length); } string vNumeroBoleto = string.Empty; string vNossoNumero = string.Empty; var dadosBoleto = Dados.ToString(); var inicioPosicaoLinhaDigitavel = dadosBoleto.IndexOf("class='fonteMedia'>") + 19; var fimPosicaoLinhaDigitavel = dadosBoleto.IndexOf("</", inicioPosicaoLinhaDigitavel); var linhaDigitavel = dadosBoleto.Substring(inicioPosicaoLinhaDigitavel, (fimPosicaoLinhaDigitavel - inicioPosicaoLinhaDigitavel)).Trim(); linhaDigitavel = linhaDigitavel.Replace(" ", " "); vNumeroBoleto = linhaDigitavel; vNossoNumero = vNumeroBoleto.Replace(" ", ""); vNossoNumero = vNossoNumero.Substring(23, 8); vNossoNumero = vNossoNumero.Replace(".", ""); vNossoNumero = vNossoNumero.TrimStart('0'); Dados.Replace("img1.JPG", "https://geraboleto.sicoobnet.com.br/geradorBoleto/img1.JPG"); Dados.Replace("img2.JPG", "https://geraboleto.sicoobnet.com.br/geradorBoleto/img2.JPG"); BoletoCarne.Replace("img1.JPG", "https://geraboleto.sicoobnet.com.br/geradorBoleto/img1.JPG"); BoletoCarne.Replace("img2.JPG", "https://geraboleto.sicoobnet.com.br/geradorBoleto/img2.JPG"); Dados.Replace("'", "\""); BoletoCarne.Replace("'", "\""); RetornoBoleto.Agencia = Banco.TB018_Agencia; RetornoBoleto.Conta = Banco.TB018_Cliente; RetornoBoleto.Carteira = vNumeroBoleto.Substring(4, 1); RetornoBoleto.NossoNumero = vNossoNumero; RetornoBoleto.NumeroBoleto = vNumeroBoleto; RetornoBoleto.HTML = Dados.ToString(); //RetornoBoleto.BoletoCarne = Dados.ToString(); } catch (Exception ex) { // Ocorreu algum erro RetornoBoleto.Erro = 1; RetornoBoleto.ErroDesc = ex.Message; } finally { // Fecha tudo if (requestStream != null) { requestStream.Close(); } if (response != null) { response.Close(); } if (reader != null) { reader.Close(); } } } catch (Exception ex) { RetornoBoleto.Erro = 1; RetornoBoleto.ErroDesc = ex.Message; } return(RetornoBoleto); }