void CVDesmontar()
        {
            if (is_linha_atual.Substring(0, 2).Equals("10"))
            {
                is_numero_agencia = is_linha_atual.Substring(56, 4);
                is_numero_conta   = is_linha_atual.Substring(60, 10);
            }
            else
            {
                var lo_cv = new ArquivoTransacao()
                {
                    num_resumo      = is_linha_atual.Substring(14, 7),
                    registro        = "Registro de Pagamento",
                    estabelecimento = is_linha_atual.Substring(1, 11),
                    num_logico      = is_linha_atual.Substring(1, 11),
                    dt_venda        = FormatoDataExecutar(is_linha_atual.Substring(40, 8), "yyyyMMdd", "dd/MM/yyyy"),
                    cartao          = is_linha_atual.Substring(21, 19),
                    vl_venda        = FormatoValorExecutar(is_linha_atual.Substring(49, 13)),
                    parcela         = "",
                    total_parcela   = "",
                    autorizacao     = is_linha_atual.Substring(120, 6),
                    nsu             = is_linha_atual.Substring(126, 6)
                };

                io_arl_cv.Add(lo_cv);
                io_arl_just_cv.Add(lo_cv);
                //io_hsm_cv.Add(is_ultimo_ro, io_arl_cv);

                var lo_detalhado1 = new ArquivoDetalhado()
                {
                    registro        = "Comprovante de Venda",
                    estabelecimento = lo_cv.estabelecimento,
                    transacao       = "",
                    RO            = lo_cv.num_resumo,
                    produto       = "",
                    cartao        = lo_cv.cartao,
                    vl_bruto      = lo_cv.vl_venda,
                    vl_liquido    = "",
                    parcela       = lo_cv.parcela,
                    total_parcela = lo_cv.total_parcela,
                    autorizacao   = lo_cv.autorizacao,
                    nsu           = lo_cv.nsu
                };

                io_detalhado.Add(lo_detalhado1);

                var lo_completo = new ArquivoCompleto()
                {
                    registro        = "Comprovante de Venda",
                    estabelecimento = lo_cv.estabelecimento,
                    RO                 = lo_cv.num_resumo,
                    parcela            = lo_cv.parcela,
                    total_parcela      = lo_cv.total_parcela,
                    filer              = "",
                    plano              = "",
                    tipo_transacao     = "",
                    apresentacao       = "",
                    prev_pagamento     = "",
                    envio_banco        = "",
                    cartao             = lo_cv.cartao,
                    sinal_valor_bruto  = "+",
                    valor_bruto        = lo_cv.vl_venda,
                    sinal_comissao     = "",
                    comissao           = "",
                    sinal_rejeitado    = "",
                    valor_rejeitado    = "",
                    sinal_liquido      = "+",
                    valor_liquido      = FormatoValorExecutar(is_linha_atual.Substring(107, 15)),
                    valor_total_venda  = "",
                    valor_prox_parcela = "",
                    taxas              = "",
                    autorizacao        = "",
                    nsu_doc            = lo_cv.nsu,
                    banco              = "",
                    agencia            = "",
                    conta_corrente     = "",
                    status_pagamento   = "",
                    motivo_rejeicao    = "",
                    cvs_aceitos        = "",
                    produto            = "",
                    cvs_rejeitados     = "",
                    data_venda         = lo_cv.dt_venda,
                    data_captura       = "",
                    origem_ajuste      = "",
                    valor_complementar = "",
                    produto_financeiro = "",
                    valor_antecipado   = "",
                    bandeira           = "",
                    registro_unico_RO  = lo_cv.num_resumo,    // is_linha_atual.Substring(11, 7),
                    taxas_comissao     = "",
                    tarifa             = "",
                    meio_captura       = "",
                    terminal           = ""
                };
                io_completo.Add(lo_completo);
            }
        }
Ejemplo n.º 2
0
        void CVDesmontar()
        {
            if (is_linha_atual.Substring(0, 2).Equals("10"))
            {
                is_numero_agencia = is_linha_atual.Substring(56, 4);
                is_numero_conta   = is_linha_atual.Substring(60, 10);
            }
            else
            {
                var lo_cv = new ArquivoTransacao()
                {
                    num_resumo      = is_linha_atual.Substring(311, 9),
                    registro        = "Registro de Pagamento",
                    estabelecimento = is_linha_atual.Substring(3, 7) + is_linha_atual.Substring(24, 4),
                    num_logico      = is_linha_atual.Substring(3, 7) + is_linha_atual.Substring(24, 4),
                    dt_venda        = FormatoDataExecutar(is_linha_atual.Substring(42, 8), "yyyyMMdd", "dd/MM/yyyy"),
                    cartao          = "",
                    vl_venda        = FormatoValorExecutar(is_linha_atual.Substring(60, 15)),
                    parcela         = is_linha_atual.Substring(58, 2),
                    total_parcela   = "",
                    autorizacao     = "",
                    nsu             = is_linha_atual.Substring(50, 8)
                };

                io_arl_cv.Add(lo_cv);
                io_arl_just_cv.Add(lo_cv);
                //io_hsm_cv.Add(is_ultimo_ro, io_arl_cv);

                var lo_detalhado1 = new ArquivoDetalhado()
                {
                    registro        = "Comprovante de Venda",
                    estabelecimento = lo_cv.estabelecimento,
                    transacao       = "",
                    RO            = lo_cv.num_resumo,
                    produto       = "",
                    cartao        = lo_cv.cartao,
                    vl_bruto      = lo_cv.vl_venda,
                    vl_liquido    = "",
                    parcela       = lo_cv.parcela,
                    total_parcela = lo_cv.total_parcela,
                    autorizacao   = lo_cv.autorizacao,
                    nsu           = lo_cv.nsu
                };

                io_detalhado.Add(lo_detalhado1);

                var lo_completo = new ArquivoCompleto()
                {
                    registro        = "Comprovante de Venda",
                    estabelecimento = lo_cv.estabelecimento,
                    RO                 = lo_cv.num_resumo,
                    parcela            = lo_cv.parcela,
                    total_parcela      = lo_cv.total_parcela,
                    filer              = "",
                    plano              = "",
                    tipo_transacao     = "",
                    apresentacao       = "",
                    prev_pagamento     = "",
                    envio_banco        = "",
                    cartao             = lo_cv.cartao,
                    sinal_valor_bruto  = "+",
                    valor_bruto        = lo_cv.vl_venda,
                    sinal_comissao     = "",
                    comissao           = "",
                    sinal_rejeitado    = "",
                    valor_rejeitado    = "",
                    sinal_liquido      = "+",
                    valor_liquido      = FormatoValorExecutar(is_linha_atual.Substring(107, 15)),
                    valor_total_venda  = "",
                    valor_prox_parcela = "",
                    taxas              = "",
                    autorizacao        = "",
                    nsu_doc            = lo_cv.nsu,
                    banco              = "",
                    agencia            = "",
                    conta_corrente     = "",
                    status_pagamento   = "",
                    motivo_rejeicao    = "",
                    cvs_aceitos        = "",
                    produto            = "",
                    cvs_rejeitados     = "",
                    data_venda         = lo_cv.dt_venda,
                    data_captura       = "",
                    origem_ajuste      = "",
                    valor_complementar = "",
                    produto_financeiro = "",
                    valor_antecipado   = "",
                    bandeira           = "",
                    registro_unico_RO  = lo_cv.num_resumo,    // is_linha_atual.Substring(11, 7),
                    taxas_comissao     = "",
                    tarifa             = "",
                    meio_captura       = "",
                    terminal           = ""
                };
                io_completo.Add(lo_completo);

                valor_total         = 0;
                valor_total_liquido = 0;

                if (io_hsm_totalizador_banco.Contains(is_numero_agencia))
                {
                    TotalizadorBanco totalizador_banco = (TotalizadorBanco)io_hsm_totalizador_banco[is_numero_agencia];
                    valor_total_liquido = totalizador_banco.total_realizado + FormatoValorExecutarDouble(resumo.vl_liquido);
                    io_hsm_totalizador_banco.Remove(is_numero_agencia);
                    io_hsm_totalizador_banco.Add(is_numero_agencia, 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(is_numero_agencia)
                    });
                }
                else
                {
                    io_hsm_totalizador_banco.Add(is_numero_agencia, 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(is_numero_agencia)
                    });
                }
            }
        }
        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)
                });
            }
        }
Ejemplo n.º 4
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);
        }