void RODesmontar()
        {
            /*
             * Cria a estrutura de registro.
             */
            var resumo = new ArquivoResumo()
            {
                resumo          = is_linha_atual.Substring(14, 7),
                estabelecimento = is_linha_atual.Substring(1, 10),
                parcela         = is_linha_atual.Substring(21, 5),
                transacao       = "PRE".Equals(is_linha_atual.Substring(26, 3))
                                                                ?       "Vendas/Prev.Pagamento"
                                                                                :       "DES".Equals(is_linha_atual.Substring(26, 3))
                                                                                                ?       "Desagendamento de Parcelas"
                                                                                                :       "PAG".Equals(is_linha_atual.Substring(26, 3))
                                                                                                                ?       "Pagamento"
                                                                                                                :       "AJU".Equals(is_linha_atual.Substring(26, 3))
                                                                                                                                ?       "Ajuste a crédito ou Débito"
                                                                                                                                :       "ANT".Equals(is_linha_atual.Substring(26, 3))
                                                                                                                                                ?       "Pagamento Antecipado"
                                                                                                                                                :       "TAR".Equals(is_linha_atual.Substring(26, 3))
                                                                                                                                                                ?       "Tarifa Meios de Captura"
                                                                                                                                                                :       is_linha_atual.Substring(26, 3),
                prev_pagamento = FormatoDataExecutar(is_linha_atual.Substring(45, 8), "yyyyMMdd", "dd/MM/yyyy"),
                valor_bruto    = FormatoValorExecutar(is_linha_atual.Substring(62, 13)),
                taxa_comissao  = is_linha_atual.Substring(104, 4),
                vl_comissao    = FormatoValorExecutar(is_linha_atual.Substring(109, 13)),
                vl_rejeitado   = FormatoValorExecutar(is_linha_atual.Substring(76, 13)),
                vl_liquido     = FormatoValorExecutar(is_linha_atual.Substring(142, 13)),
                situacao       = "",
                produto        = "",
                terminal       = is_linha_atual.Substring(1, 10),
                chave          = ""
            };

            valor_total         = 0;
            valor_total_liquido = 0;

            string estabelecimento = is_linha_atual.Substring(1, 10);

            if (io_hsm_totalizador_estabelecimento.Contains(estabelecimento))
            {
                TotalizadorEstabelecimento totalizador_estabelecimento = (TotalizadorEstabelecimento)io_hsm_totalizador_estabelecimento[estabelecimento];
                valor_total_liquido = totalizador_estabelecimento.total_realizado + FormatoValorExecutarDouble(resumo.vl_liquido);
                io_hsm_totalizador_estabelecimento.Remove(estabelecimento);
                io_hsm_totalizador_estabelecimento.Add(estabelecimento, new TotalizadorEstabelecimento
                {
                    prev_pagamento  = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(45, 8), "yyyyMMdd", "dd/MM/yyyy")),
                    total_realizado = valor_total_liquido,
                    estabelecimento = Convert.ToInt32(estabelecimento)
                });
            }
            else
            {
                io_hsm_totalizador_estabelecimento.Add(estabelecimento, new TotalizadorEstabelecimento
                {
                    prev_pagamento  = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(45, 8), "yyyyMMdd", "dd/MM/yyyy")),
                    total_realizado = FormatoValorExecutarDouble(resumo.vl_liquido),
                    estabelecimento = Convert.ToInt32(estabelecimento)
                });
            }

            /*
             * GUARDA O ULTIMO RO.
             */
            is_ultimo_ro = is_linha_atual.Substring(311, 9);

            /*
             * Adiciona o ro na lista.
             */
            io_arl_ro.Add(resumo);
            io_arl_cv = new ArrayList();

            var lo_detalhado = new ArquivoDetalhado()
            {
                registro        = "Resumo do Pagamento",
                estabelecimento = resumo.estabelecimento,
                transacao       = resumo.transacao,
                RO            = resumo.resumo,
                produto       = resumo.produto,
                cartao        = "",
                vl_bruto      = resumo.valor_bruto,
                vl_liquido    = resumo.vl_liquido,
                parcela       = resumo.parcela,
                total_parcela = "",
                autorizacao   = "",
                nsu           = ""
            };

            io_detalhado.Add(lo_detalhado);


            var lo_completo = new ArquivoCompleto()
            {
                registro        = "Resumo do Pagamento",
                estabelecimento = resumo.estabelecimento,
                RO                 = resumo.resumo,
                parcela            = resumo.parcela,
                total_parcela      = "",
                filer              = "",
                plano              = "",
                tipo_transacao     = resumo.transacao,
                apresentacao       = "",
                prev_pagamento     = resumo.prev_pagamento,
                envio_banco        = "",
                cartao             = "",
                sinal_valor_bruto  = "+",
                valor_bruto        = resumo.valor_bruto,
                sinal_comissao     = "",
                comissao           = resumo.vl_comissao,
                sinal_rejeitado    = "",
                valor_rejeitado    = resumo.vl_rejeitado,
                sinal_liquido      = "",
                valor_liquido      = resumo.vl_liquido,
                valor_total_venda  = "",
                valor_prox_parcela = "",
                taxas              = "",
                autorizacao        = "",
                nsu_doc            = "",
                banco              = is_linha_atual.Substring(169, 4),
                agencia            = is_linha_atual.Substring(173, 5),
                conta_corrente     = is_linha_atual.Substring(178, 4),
                status_pagamento   = "",
                motivo_rejeicao    = "",
                cvs_aceitos        = "",
                produto            = resumo.produto,
                cvs_rejeitados     = "",
                data_venda         = "",
                data_captura       = FormatoDataExecutar(is_linha_atual.Substring(29, 8), "yyyyMMdd", "dd/MM/yyyy"),
                origem_ajuste      = "",
                valor_complementar = "",
                produto_financeiro = "",
                valor_antecipado   = "",
                bandeira           = "",
                registro_unico_RO  = resumo.resumo,
                taxas_comissao     = "",
                tarifa             = "",
                meio_captura       = "",
                terminal           = resumo.estabelecimento
            };

            io_completo.Add(lo_completo);

            valor_total         = 0;
            valor_total_liquido = 0;

            if (io_hsm_totalizador_banco.Contains(lo_completo.banco))
            {
                TotalizadorBanco totalizador_banco = (TotalizadorBanco)io_hsm_totalizador_banco[lo_completo.banco];
                valor_total_liquido = totalizador_banco.total_realizado + FormatoValorExecutarDouble(resumo.vl_liquido);
                io_hsm_totalizador_banco.Remove(lo_completo.banco);
                io_hsm_totalizador_banco.Add(lo_completo.banco, new TotalizadorBanco
                {
                    prev_pagamento  = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(31, 6), "yyMMdd", "dd/MM/yy")),
                    total_realizado = valor_total_liquido,
                    banco           = Convert.ToInt32(lo_completo.banco)
                });
            }
            else
            {
                io_hsm_totalizador_banco.Add(lo_completo.banco, new TotalizadorBanco
                {
                    prev_pagamento  = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(31, 6), "yyMMdd", "dd/MM/yy")),
                    total_realizado = FormatoValorExecutarDouble(resumo.vl_liquido),
                    banco           = Convert.ToInt32(lo_completo.banco)
                });
            }
        }
Beispiel #2
0
        void RODesmontar()
        {
            /*
             * Cria a estrutura de registro.
             */
            var resumo = new ArquivoResumo()
            {
                resumo          = is_linha_atual.Substring(311, 9),
                estabelecimento = is_linha_atual.Substring(17, 7) + is_linha_atual.Substring(38, 4),
                parcela         = is_linha_atual.Substring(66, 2),
                transacao       = "Venda",
                prev_pagamento  = FormatoDataExecutar(is_linha_atual.Substring(140, 8), "yyyyMMdd", "dd/MM/yyyy"),
                valor_bruto     = FormatoValorExecutar(is_linha_atual.Substring(110, 15)),
                taxa_comissao   = "",
                vl_comissao     = "",
                vl_rejeitado    = "",
                vl_liquido      = FormatoValorExecutar(is_linha_atual.Substring(176, 13)),
                situacao        = SituacaoParcelaGet(is_linha_atual.substring(108, 2), false),
                produto         = is_linha_atual.Substring(98, 6).Equals("002000")
                                                                ?       "Pagamento à vista"
                                                                                :       is_linha_atual.Substring(98, 6).Equals("002800")
                                                                                                ?       "Pagamento parcelado com parcela à vista"
                                                                                                :       is_linha_atual.Substring(98, 6).Equals("002890")
                                                                                                                ?       "Pagamento parcelado sem parcela à vista"
                                                                                                                :       is_linha_atual.Substring(98, 6).Equals("002900")
                                                                                                                                ?       "Pagamento pré_datado"
                                                                                                                                :       is_linha_atual.Substring(98, 6).Equals("002899")
                                                                                                                                                ?       "Pagamento c/ Crédito 1 Minuto"
                                                                                                                                                :       is_linha_atual.Substring(98, 6).Equals("003900")
                                                                                                                                                                ?       "Pagamento c/ Banco Sim Parcelado"
                                                                                                                                                                :       is_linha_atual.Substring(98, 6),
                terminal = is_linha_atual.Substring(42, 8),
                chave    = ""
            };


            Decimal valor_total         = 0;
            Decimal valor_total_liquido = 0;

            if (io_hsm_totalizador_produto.Contains(resumo.produto))
            {
                TotalizadorProduto totalizador_produto = (TotalizadorProduto)io_hsm_totalizador_produto[resumo.produto];
                valor_total         = totalizador_produto.valor_bruto + FormatoValorExecutarDouble(resumo.valor_bruto);
                valor_total_liquido = totalizador_produto.vl_liquido + FormatoValorExecutarDouble(resumo.vl_liquido);
                io_hsm_totalizador_produto.Remove(resumo.produto);
                io_hsm_totalizador_produto.Add(resumo.produto, new TotalizadorProduto
                {
                    prev_pagamento = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(140, 8), "yyyyMMdd", "dd/MM/yyyy")),
                    valor_bruto    = valor_total,
                    vl_liquido     = valor_total_liquido,
                    produto        = resumo.produto
                });
            }
            else
            {
                io_hsm_totalizador_produto.Add(resumo.produto, new TotalizadorProduto
                {
                    prev_pagamento = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(140, 8), "yyyyMMdd", "dd/MM/yyyy")),
                    valor_bruto    = FormatoValorExecutarDouble(resumo.valor_bruto),
                    vl_liquido     = FormatoValorExecutarDouble(resumo.vl_liquido),
                    produto        = resumo.produto
                });
            }

            valor_total         = 0;
            valor_total_liquido = 0;

            string estabelecimento = is_linha_atual.Substring(17, 7) + is_linha_atual.Substring(38, 4);

            if (io_hsm_totalizador_estabelecimento.Contains(estabelecimento))
            {
                TotalizadorEstabelecimento totalizador_estabelecimento = (TotalizadorEstabelecimento)io_hsm_totalizador_estabelecimento[estabelecimento];
                valor_total_liquido = totalizador_estabelecimento.total_realizado + FormatoValorExecutarDouble(resumo.vl_liquido);
                io_hsm_totalizador_estabelecimento.Remove(estabelecimento);
                io_hsm_totalizador_estabelecimento.Add(estabelecimento, new TotalizadorEstabelecimento
                {
                    prev_pagamento  = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(140, 8), "yyyyMMdd", "dd/MM/yyyy")),
                    total_realizado = valor_total_liquido,
                    estabelecimento = Convert.ToInt32(estabelecimento)
                });
            }
            else
            {
                io_hsm_totalizador_estabelecimento.Add(estabelecimento, new TotalizadorEstabelecimento
                {
                    prev_pagamento  = Convert.ToDateTime(FormatoDataExecutar(is_linha_atual.Substring(140, 8), "yyyyMMdd", "dd/MM/yyyy")),
                    total_realizado = FormatoValorExecutarDouble(resumo.vl_liquido),
                    estabelecimento = Convert.ToInt32(estabelecimento)
                });
            }

            /*
             * GUARDA O ULTIMO RO.
             */
            is_ultimo_ro = is_linha_atual.Substring(311, 9);

            /*
             * Adiciona o ro na lista.
             */
            io_arl_ro.Add(resumo);
            io_arl_cv = new ArrayList();

            var lo_detalhado = new ArquivoDetalhado()
            {
                registro        = "Resumo do Pagamento",
                estabelecimento = resumo.estabelecimento,
                transacao       = resumo.transacao,
                RO            = resumo.resumo,
                produto       = resumo.produto,
                cartao        = "",
                vl_bruto      = resumo.valor_bruto,
                vl_liquido    = resumo.vl_liquido,
                parcela       = "",
                total_parcela = "",
                autorizacao   = "",
                nsu           = ""
            };

            io_detalhado.Add(lo_detalhado);


            var lo_completo = new ArquivoCompleto()
            {
                registro        = "Resumo do Pagamento",
                estabelecimento = resumo.estabelecimento,
                RO                 = resumo.resumo,
                parcela            = resumo.parcela,
                total_parcela      = is_linha_atual.Substring(68, 2),
                filer              = "",
                plano              = "",
                tipo_transacao     = resumo.transacao,
                apresentacao       = "",
                prev_pagamento     = resumo.prev_pagamento,
                envio_banco        = "",
                cartao             = "",
                sinal_valor_bruto  = "+",
                valor_bruto        = resumo.valor_bruto,
                sinal_comissao     = "",
                comissao           = "",
                sinal_rejeitado    = "",
                valor_rejeitado    = "",
                sinal_liquido      = "",
                valor_liquido      = resumo.vl_liquido,
                valor_total_venda  = "",
                valor_prox_parcela = "",
                taxas              = "",
                autorizacao        = "",
                nsu_doc            = is_linha_atual.Substring(88, 6),
                banco              = "",
                agencia            = "",
                conta_corrente     = "",
                status_pagamento   = resumo.situacao,
                motivo_rejeicao    = "",
                cvs_aceitos        = "",
                produto            = resumo.produto,
                cvs_rejeitados     = "",
                data_venda         = "",
                data_captura       = FormatoDataExecutar(is_linha_atual.Substring(76, 8), "yyyyMMdd", "dd/MM/yyyy"),
                origem_ajuste      = "",
                valor_complementar = "",
                produto_financeiro = ls_identificador_arquivo.Equals("BJRVCA1") ? "Resumo de Operações" : "Registro de Pagamento",
                valor_antecipado   = "",
                bandeira           = "",
                registro_unico_RO  = resumo.resumo,
                taxas_comissao     = "",
                tarifa             = "",
                meio_captura       = "",
                terminal           = is_linha_atual.Substring(42, 8)
            };

            io_completo.Add(lo_completo);
        }