Esempio n. 1
0
        public bool GerarTransacoesEmissor(Arquivo arquivo)
        {
            InformacaoRegistroDAO     infregDAO   = new InformacaoRegistroDAO();
            RegistroDAO               regDAO      = new RegistroDAO();
            List <InformacaoRegistro> informacoes = infregDAO.BuscarDetalhesComprimidosArquivo(arquivo.IdArquivo);


            int limit = informacoes.Count();

            try
            {
                for (int i = 0; i < limit; i++)

                {
                    InformacaoRegistro informacoesTransacao = informacoes[i];
                    if (informacoesTransacao.Chave != string.Empty)
                    {
                        TransacaoElo transacaoElo = new TransacaoElo();
                        transacaoElo.NomeArquivo = arquivo.NomeArquivo;
                        transacaoElo.Id_Incoming = informacoesTransacao.IdInformacaoRegistro;
                        transacaoElo.FlagTransacaoInternacional = true;
                        DecomporLinha(ref transacaoElo, StringUtil.Unzip(informacoesTransacao.Valor), arquivo.IdLayout);
                        InserirBufferElo(transacaoElo, arquivo.IdEmissor);
                        transacaoElo = null;
                    }
                }
                AtualizarBufferElo(arquivo.IdEmissor);
                return(true);
            }catch (Exception ex)
            {
                throw new Exception("Erro ao gerar transações na base do emissor." + ex.Message);
            }
        }
Esempio n. 2
0
        public bool GerarTransacoesEmissor(Arquivo arquivo)
        {
            InformacaoRegistroDAO     infregDAO   = new InformacaoRegistroDAO();
            RegistroDAO               regDAO      = new RegistroDAO();
            List <InformacaoRegistro> informacoes = infregDAO.BuscarDetalhesComprimidosArquivo(arquivo.IdArquivo);

            int limit = informacoes.Count();

            for (int i = 0; i < limit; i++)
            {
                try
                {
                    InformacaoRegistro informacoesTransacao = informacoes[i];
                    if (informacoesTransacao.Chave != string.Empty)
                    {
                        TransacaoElo transacaoElo = new TransacaoElo();
                        transacaoElo.NomeArquivo = arquivo.NomeArquivo;
                        transacaoElo.IdArquivo   = arquivo.IdArquivo;
                        transacaoElo.Id_Incoming = informacoes[i].IdInformacaoRegistro;
                        transacaoElo.FlagTransacaoInternacional = false;     //as transacoes internacionais sao processadas em arquivo especifico
                        DecomporLinha(ref transacaoElo, StringUtil.Unzip(informacoesTransacao.Valor));
                        ValidarTransacao(ref transacaoElo, arquivo.IdEmissor, informacoesTransacao.IdInformacaoRegistro);
                        InserirBufferElo(transacaoElo, arquivo.IdEmissor);
                        transacaoElo = null;
                    }
                }
                catch (Exception ex)
                {
                    informacoes[i].FlagErro = true;
                    infregDAO.Update(informacoes[i]);
                    throw new Exception("Erro ao gerar transações na base do emissor." + ex.Message);
                }
            }

            PersistirBufferErro();
            PersistirBufferElo(arquivo.IdEmissor);
            return(true);
        }