public void GerarRemessa(blCobranca ACobranca, string Path_remessa) //{Gerar arquivo remessa para enviar ao banco} { StringBuilder Remessa = new StringBuilder(); switch (ACobranca.LayoutArquivo) { case TLayoutArquivo.laCNAB240: throw new Exception("Layout CNAB240 não suportado pelo Aliance.NET."); case TLayoutArquivo.laCNAB400: { GerarRemessaCNAB400(ACobranca, Remessa); break; } } //Salvar arquivo de remessa na pasta configurada if (!System.IO.Directory.Exists(Path_remessa)) { throw new Exception("Path salvar arquivo remessa invalido."); } if (Path_remessa.Substring(Path_remessa.Length - 1, 1) != System.IO.Path.DirectorySeparatorChar.ToString()) { Path_remessa += System.IO.Path.DirectorySeparatorChar.ToString(); } object obj = new TCD_LoteRemessa().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + ACobranca.Titulos[0].Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_contager", vOperador = "=", vVL_Busca = "'" + ACobranca.Titulos[0].Cd_contager.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_lote)))", vOperador = "=", vVL_Busca = "'" + ACobranca.DataArquivo.ToString("yyyyMMdd") + "'" }, new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "=", vVL_Busca = "'P'" } }, "count(*)"); using (System.IO.StreamWriter sw = new System.IO.StreamWriter(Path_remessa + "CB" + //Cobranca Bradesco ACobranca.DataArquivo.Day.FormatStringEsquerda(2, '0') + ACobranca.DataArquivo.Month.FormatStringEsquerda(2, '0') + (obj == null ? "01" : decimal.Parse(obj.ToString() + 1).FormatStringEsquerda(2, '0')) + ".REM")) { sw.Write(Remessa.ToString()); sw.Flush(); sw.Close(); } }
public void GerarRemessa(blCobranca ACobranca, string Path_remessa) //{Gerar arquivo remessa para enviar ao banco} { StringBuilder Remessa = new StringBuilder(); switch (ACobranca.LayoutArquivo) { case TLayoutArquivo.laCNAB240: throw new Exception("Layout CNAB240 não suportado pelo Aliance.NET."); case TLayoutArquivo.laCNAB400: { GerarRemessaCNAB400(ACobranca, Remessa); break; } } //Salvar arquivo de remessa na pasta configurada if (!System.IO.Directory.Exists(Path_remessa)) { throw new Exception("Path salvar arquivo remessa invalido."); } if (Path_remessa.Substring(Path_remessa.Length - 1, 1) != System.IO.Path.DirectorySeparatorChar.ToString()) { Path_remessa += System.IO.Path.DirectorySeparatorChar.ToString(); } string extensao = ".CRM"; TList_LoteRemessa lLote = new TCD_LoteRemessa().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "b.cd_empresa", vOperador = "=", vVL_Busca = "'" + ACobranca.Titulos[0].Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "b.cd_contager", vOperador = "=", vVL_Busca = "'" + ACobranca.Titulos[0].Cd_contager.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.dt_lote)))", vOperador = "=", vVL_Busca = "'" + ACobranca.DataArquivo.ToString("yyyyMMdd") + "'" }, new TpBusca() { vNM_Campo = "isnull(a.nr_arqremessa, 0)", vOperador = "<>", vVL_Busca = "0" } }, 0, string.Empty); if (lLote.Count > 0) { if (lLote.Exists(p => p.Nr_arqRemessa.Equals(ACobranca.SequencialArq))) { if (lLote.OrderBy(p => p.Nr_arqRemessa).ToList().FindIndex(p => p.Nr_arqRemessa.Equals(ACobranca.SequencialArq)) > 0) { extensao = ".RM" + (lLote.OrderBy(p => p.Nr_arqRemessa).ToList().FindIndex(p => p.Nr_arqRemessa.Equals(ACobranca.SequencialArq)) + 1).ToString(); } } else { extensao = ".RM" + (lLote.Count + 1).ToString(); } } using (StreamWriter sw = new StreamWriter(Path_remessa + ACobranca.Titulos[0].Cedente.CodigoCedente.FormatStringEsquerda(5, '0') + this.CodigoMes(ACobranca.DataArquivo.Month) + ACobranca.DataArquivo.Day.FormatStringEsquerda(2, '0') + extensao)) { sw.Write(Remessa.ToString()); sw.Flush(); sw.Close(); } }