private void CVRotativo(string a) { try { /* 8 */ var resumo = new ConciliacaoUseRedeEEVCComprovanteVendaStruct() { is_tipo_registro = 8, nm_tipo_registro = "CV - Rotativo", is_numero_filiacao_pv = Convert.ToDecimal(a.Substring(3, 9)), is_numero_resumo_vendas = Convert.ToInt64(string.IsNullOrEmpty(a.Substring(12, 9)) ? "0" : a.Substring(12, 9)), is_data_cv = Convert.ToDateTime(a.Substring(21, 2) + "/" + a.Substring(23, 2) + "/" + a.Substring(25, 4)), is_valor_bruto = Convert.ToDecimal(a.Substring(37, 15)) / 100, is_valor_gorjeta = Convert.ToDecimal(a.Substring(52, 15)) / 100, is_numero_cartao = a.Substring(67, 16), is_status_cv = TabelaIII(Convert.ToInt32(a.Substring(83, 3))), is_numero_cv = Convert.ToDecimal(a.Substring(86, 12)), is_numero_referencia = a.Substring(98, 13), is_valor_desconto = Convert.ToDecimal(a.Substring(111, 15)) / 100, is_numero_autorizacao = a.Substring(126, 6), is_hora_transcao = a.Substring(132, 2) + ":" + a.Substring(134, 2) + ":" + a.Substring(136, 2), is_tipo_captura = TabelaII(Convert.ToInt32(a.Substring(202, 1))), is_valor_liquido = Convert.ToDecimal(a.Substring(203, 15)) / 100, is_numero_terminal = a.Substring(218, 8), is_bandeira = TabelaI(a.Substring(229, 1)), taxa_cobrada = Math.Abs(Convert.ToDecimal(((Convert.ToDecimal(a.Substring(203, 15)) / 100) * 100) / (Convert.ToDecimal(a.Substring(37, 15)) / 100)) - 100), is_data_credito = Convert.ToDateTime(data_pagamento), rede = 1 }; io_arl_cv.Add(resumo); estabelecimento = a.Substring(3, 9); if (io_hsm_totalizador_estabelecimento.Contains(estabelecimento + data_pagamento)) { TotalizadorEstabelecimento totalizador_estabelecimento = (TotalizadorEstabelecimento)io_hsm_totalizador_estabelecimento[estabelecimento + data_pagamento]; io_hsm_totalizador_estabelecimento.Remove(estabelecimento + data_pagamento); io_hsm_totalizador_estabelecimento.Add(estabelecimento + data_pagamento, new TotalizadorEstabelecimento { prev_pagamento = Convert.ToDateTime(data_pagamento), total_realizado = totalizador_estabelecimento.total_realizado + (Convert.ToDecimal(a.Substring(203, 15)) / 100), estabelecimento = Convert.ToInt32(estabelecimento) }); } else { io_hsm_totalizador_estabelecimento.Add(estabelecimento + data_pagamento, new TotalizadorEstabelecimento { prev_pagamento = Convert.ToDateTime(data_pagamento), total_realizado = (Convert.ToDecimal(a.Substring(203, 15)) / 100), estabelecimento = Convert.ToInt32(estabelecimento) }); } if (io_hsm_totalizador_banco.Contains(banco + data_pagamento)) { TotalizadorBanco totalizador_banco = (TotalizadorBanco)io_hsm_totalizador_banco[banco + data_pagamento]; io_hsm_totalizador_banco.Remove(banco + data_pagamento); io_hsm_totalizador_banco.Add(banco + data_pagamento, new TotalizadorBanco { data_prevista = Convert.ToDateTime(data_pagamento), total_realizado = totalizador_banco.total_realizado + (Convert.ToDecimal(a.Substring(203, 15)) / 100), id_banco = Convert.ToInt32(banco) }); } else { io_hsm_totalizador_banco.Add(banco + data_pagamento, new TotalizadorBanco { data_prevista = Convert.ToDateTime(data_pagamento), total_realizado = (Convert.ToDecimal(a.Substring(203, 15)) / 100), id_banco = Convert.ToInt32(banco) }); } Decimal valor_total = 0; Decimal valor_total_liquido = 0; if (io_hsm_totalizador_produto.Contains(produto + data_pagamento)) { TotalizadorProduto totalizador_produto = (TotalizadorProduto)io_hsm_totalizador_produto[produto + data_pagamento]; valor_total = totalizador_produto.valor_bruto + (Convert.ToDecimal(a.Substring(37, 15)) / 100); valor_total_liquido = totalizador_produto.valor_liquido + (Convert.ToDecimal(a.Substring(203, 15)) / 100); io_hsm_totalizador_produto.Remove(produto + data_pagamento); io_hsm_totalizador_produto.Add(produto + data_pagamento, new TotalizadorProduto { data_prevista = Convert.ToDateTime(data_pagamento), valor_bruto = valor_total, valor_liquido = valor_total_liquido, ds_produto = produto, rede = "Userede" }); } else { io_hsm_totalizador_produto.Add(produto + data_pagamento, new TotalizadorProduto { data_prevista = Convert.ToDateTime(data_pagamento), valor_bruto = (Convert.ToDecimal(a.Substring(37, 15)) / 100), valor_liquido = (Convert.ToDecimal(a.Substring(203, 15)) / 100), ds_produto = produto, rede = "Userede" }); } } catch (Exception e) { throw e; } }
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); }
private void ParcelasDesmontar(string a) { var parcelas = new ConciliacaoUseRedeParcelasStruct() { is_tipo_registro = Convert.ToInt32(a.Substring(0, 3)), is_numero_filiacao_pv = Convert.ToDecimal(a.Substring(3, 9)), is_numero_resumo_vendas = a.Substring(12, 9), is_data_rv = Convert.ToDateTime(a.Substring(21, 2) + "/" + a.Substring(23, 2) + "/" + a.Substring(25, 4)), numero_parcela = Convert.ToInt32(a.Substring(37, 2)), valor_parcela_bruto = (Convert.ToDecimal(a.Substring(39, 15)) / 100), valor_desconto_parcela = (Convert.ToDecimal(a.Substring(54, 15)) / 100), valor_parcela_liquida = (Convert.ToDecimal(a.Substring(69, 15)) / 100), data_credito = Convert.ToDateTime(a.Substring(84, 2) + "/" + a.Substring(86, 2) + "/" + a.Substring(88, 4)), rede = 1 }; io_arl_parcelas.Add(parcelas); /* 14 */ try { data_pagamento = a.Substring(84, 2) + "/" + a.Substring(86, 2) + "/" + a.Substring(88, 4); estabelecimento = a.Substring(3, 9); if (io_hsm_totalizador_estabelecimento.Contains(estabelecimento + data_pagamento)) { TotalizadorEstabelecimento totalizador_estabelecimento = (TotalizadorEstabelecimento)io_hsm_totalizador_estabelecimento[estabelecimento + data_pagamento]; io_hsm_totalizador_estabelecimento.Remove(estabelecimento + data_pagamento); io_hsm_totalizador_estabelecimento.Add(estabelecimento + data_pagamento, new TotalizadorEstabelecimento { prev_pagamento = Convert.ToDateTime(data_pagamento), total_realizado = totalizador_estabelecimento.total_realizado + (Convert.ToDecimal(a.Substring(69, 15)) / 100), estabelecimento = Convert.ToInt32(estabelecimento) }); } else { io_hsm_totalizador_estabelecimento.Add(estabelecimento + data_pagamento, new TotalizadorEstabelecimento { prev_pagamento = Convert.ToDateTime(data_pagamento), total_realizado = (Convert.ToDecimal(a.Substring(69, 15)) / 100), estabelecimento = Convert.ToInt32(estabelecimento) }); } if (io_hsm_totalizador_banco.Contains(banco + data_pagamento)) { TotalizadorBanco totalizador_banco = (TotalizadorBanco)io_hsm_totalizador_banco[banco + data_pagamento]; io_hsm_totalizador_banco.Remove(banco + data_pagamento); io_hsm_totalizador_banco.Add(banco + data_pagamento, new TotalizadorBanco { data_prevista = Convert.ToDateTime(data_pagamento), total_realizado = totalizador_banco.total_realizado + (Convert.ToDecimal(a.Substring(69, 15)) / 100), id_banco = Convert.ToInt32(banco) }); } else { io_hsm_totalizador_banco.Add(banco + data_pagamento, new TotalizadorBanco { data_prevista = Convert.ToDateTime(data_pagamento), total_realizado = (Convert.ToDecimal(a.Substring(69, 15)) / 100), id_banco = Convert.ToInt32(banco) }); } Decimal valor_total = 0; Decimal valor_total_liquido = 0; if (io_hsm_totalizador_produto.Contains(produto + data_pagamento)) { TotalizadorProduto totalizador_produto = (TotalizadorProduto)io_hsm_totalizador_produto[produto + data_pagamento]; valor_total = totalizador_produto.valor_bruto + (Convert.ToDecimal(a.Substring(39, 15)) / 100); valor_total_liquido = totalizador_produto.valor_liquido + (Convert.ToDecimal(a.Substring(69, 15)) / 100); io_hsm_totalizador_produto.Remove(produto + data_pagamento); io_hsm_totalizador_produto.Add(produto + data_pagamento, new TotalizadorProduto { data_prevista = Convert.ToDateTime(data_pagamento), valor_bruto = valor_total, valor_liquido = valor_total_liquido, ds_produto = produto, rede = "Userede" }); } else { io_hsm_totalizador_produto.Add(produto + data_pagamento, new TotalizadorProduto { data_prevista = Convert.ToDateTime(data_pagamento), valor_bruto = (Convert.ToDecimal(a.Substring(39, 15)) / 100), valor_liquido = (Convert.ToDecimal(a.Substring(69, 15)) / 100), ds_produto = produto, rede = "Userede" }); } } catch (Exception e) { throw e; } }
private void TotalPVDesmontar(string[] a) { var resumo = new ConciliacaoUseRedeEEVDTotalPontoVendaStruct() { is_tipo_registro = Convert.ToInt32(a[0]), nm_tipo_registro = "Total ponto de venda", is_numero_ponto_venda = Convert.ToDecimal(a[1]).ToString(), is_quantidade_resumo_vendas_acatados = Convert.ToDecimal(a[2]), is_quantidade_comprovante_vendas = Convert.ToDecimal(a[3]), is_total_bruto = Convert.ToDecimal(a[4]) / 100, is_total_desconto = Convert.ToDecimal(a[5]) / 100, is_total_liquido = Convert.ToDecimal(a[6]) / 100, is_valor_bruto_predatado = Convert.ToDecimal(a[7]) / 100, is_valor_desconto_predatado = Convert.ToDecimal(a[8]) / 100, is_valor_liquido_predatado = Convert.ToDecimal(a[9]) / 100, rede = 1 }; io_arl_pv.Add(resumo); string estabelecimento = a[1]; if (io_hsm_totalizador_estabelecimento.Contains(estabelecimento)) { TotalizadorEstabelecimento totalizador_estabelecimento = (TotalizadorEstabelecimento)io_hsm_totalizador_estabelecimento[estabelecimento]; io_hsm_totalizador_estabelecimento.Remove(estabelecimento); io_hsm_totalizador_estabelecimento.Add(estabelecimento, new TotalizadorEstabelecimento { prev_pagamento = Convert.ToDateTime(data_pagamento), total_realizado = totalizador_estabelecimento.total_realizado + resumo.is_total_liquido, estabelecimento = Convert.ToInt32(estabelecimento) }); } else { io_hsm_totalizador_estabelecimento.Add(estabelecimento, new TotalizadorEstabelecimento { prev_pagamento = Convert.ToDateTime(data_pagamento), total_realizado = resumo.is_total_liquido, estabelecimento = Convert.ToInt32(estabelecimento) }); } if (io_hsm_totalizador_banco.Contains(banco)) { TotalizadorBanco totalizador_banco = (TotalizadorBanco)io_hsm_totalizador_banco[banco]; io_hsm_totalizador_banco.Remove(banco); io_hsm_totalizador_banco.Add(banco, new TotalizadorBanco { data_prevista = Convert.ToDateTime(data_pagamento), total_realizado = totalizador_banco.total_realizado + resumo.is_total_liquido, id_banco = Convert.ToInt32(banco) }); } else { io_hsm_totalizador_banco.Add(banco, new TotalizadorBanco { data_prevista = Convert.ToDateTime(data_pagamento), total_realizado = resumo.is_total_liquido, id_banco = Convert.ToInt32(banco) }); } Decimal valor_total = 0; Decimal valor_total_liquido = 0; if (io_hsm_totalizador_produto.Contains("debito")) { TotalizadorProduto totalizador_produto = (TotalizadorProduto)io_hsm_totalizador_produto["debito"]; valor_total = totalizador_produto.valor_bruto + resumo.is_total_bruto; valor_total_liquido = totalizador_produto.valor_liquido + resumo.is_total_liquido; io_hsm_totalizador_produto.Remove("debito"); io_hsm_totalizador_produto.Add("debito", new TotalizadorProduto { data_prevista = Convert.ToDateTime(data_pagamento), valor_bruto = valor_total, valor_liquido = valor_total_liquido, ds_produto = "Débito", rede = "Userede" }); } else { io_hsm_totalizador_produto.Add("debito", new TotalizadorProduto { data_prevista = Convert.ToDateTime(data_pagamento), valor_bruto = resumo.is_total_bruto, valor_liquido = resumo.is_total_liquido, ds_produto = "Débito", rede = "Userede" }); } }