Download Arquivo Remessa via web (Erro ao gerar arquivo remessa.)

Oct 7, 2008 at 6:38 PM
Senhores

Estou tentando criar o arquivo de remessa e fazer o download via web, mas estou recebendo o seguinte erro na linha 9 (Erro ao gerar arquivo remessa.Value cannot be null. Parameter name: stream)

Será que estou fazendo algo de errado? Alguem poderia fornecer um exemplo de como fazer isso? Obrigado

1                Stream rdr = null;
2                Response.Clear();
3                Response.Buffer = true;
4                Response.ContentType = "text/plain";
5                Response.AddHeader("content-disposition", "attachment;filename=remessa.txt");
6                Response.Charset = "";
7
8                ArquivoRemessa arquivo = new ArquivoRemessa(TipoArquivo.CNAB400);
9                arquivo.GerarArquivoRemessa(banco.Cedente, boletos[0].Banco, boletos[0].Cedente, boletos, rdr, 1);
10                Response.Write(rdr.ToString());
11                Response.End();



Oct 7, 2008 at 8:11 PM
Consegui resolver. Segue a solução para futuras dúvidas.

protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = new DateTime(2007, 9, 10);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "13000");
        c.Codigo = 13000;

        Boletos boletos = new Boletos();

        for (int i = 0; i < 5; i++)
        {
            Boleto b = new Boleto(vencimento, (123.45 * i), "198", "92082835", c);
            b.NumeroDocumento = "1008073";

            b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva " + i);
            b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP = "70000000";
            b.Sacado.Endereco.UF = "DF";

            Instrucao instr = new Instrucao(341);
            instr.Descricao = "teste instrução";
            b.Instrucoes.Add(instr);

            b.Banco = new Banco(341);
            b.Valida();

            boletos.Add(b);

        }
       
        MemoryStream rdr = new MemoryStream();
       
        ArquivoRemessa arquivo = new ArquivoRemessa(TipoArquivo.CNAB400);
        arquivo.GerarArquivoRemessa("0", boletos[0].Banco, boletos[0].Cedente, boletos, rdr, 1);

        //Envia para o response fazendo com que o browser abra a tela de download do arquivo remessa.txt
        Response.Clear();
        Response.Buffer = true;
        Response.ContentType = "text/plain";
        Response.AddHeader("content-disposition", "attachment;filename=Remessa.txt");
        Response.Charset = "";
        Response.BinaryWrite(rdr.ToArray());
        Response.End();
}