public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_pf_cancelaVenda "); /// USER [ execute ] // ## Buscar pendência (já confirmada) para cancelamento T_PendPayFone pend = new T_PendPayFone(this); pend.ExclusiveAccess(); if (!pend.select_rows_nsu(input_st_nsu_cancelado)) { output_st_codResp = "01"; output_st_msg = "NSU inválido (" + input_st_nsu_cancelado.TrimStart('0') + ")"; return(false); } if (!pend.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Buscar terminal vinculado term = new T_Terminal(this); if (!term.selectIdentity(pend.get_fk_terminal())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } var_valorTotal = pend.get_vr_valor(); // ## Buscar lojista pelo terminal usado na pendência T_PayFone pf_lojista = new T_PayFone(this); if (!pf_lojista.select_fk_term(pend.get_fk_terminal())) { output_st_codResp = "05"; output_st_msg = "Lojista invalido"; return(false); } // ## Confere se telefones batem if (pf_lojista.get_st_telefone() != input_st_tel_lojista) { output_st_codResp = "06"; output_st_msg = "Lojista invalido"; } // ## Se não estiver confirmado, não pode cancelar if (pend.get_en_situacao() != TipoPendPayFone.CONFIRMADO) { output_st_codResp = "02"; output_st_msg = "NSU não confirmado " + input_st_nsu_cancelado.TrimStart('0'); return(false); } // ## Se já estiver cancelado, não pode cancelar if (pend.get_en_situacao() == TipoPendPayFone.CANCELADO) { output_st_codResp = "02"; output_st_msg = "NSU prev. cancelado " + input_st_nsu_cancelado.TrimStart('0'); return(false); } // ## Atribui como cancelado pend.set_en_situacao(TipoPendPayFone.CANCELADO); // ## Atualizar if (!pend.synchronize_T_PendPayFone()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Buscar parcelas de hoje para determinado NSU T_Parcelas parc = new T_Parcelas(this); parc.ExclusiveAccess(); if (!parc.select_rows_nsu(pend.get_nu_nsu(), GetTodayStartTime(), GetTodayEndTime())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } if (!parc.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Buscar cartão envolvido T_Cartao cart = new T_Cartao(this); cart.ExclusiveAccess(); if (!cart.selectIdentity(parc.get_fk_cartao())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Se for edu, disponibilizar imediatamente (estorno) if (cart.get_tg_tipoCartao() == TipoCartao.educacional) { long disp = Convert.ToInt64(cart.get_vr_disp_educacional()) + Convert.ToInt64(parc.get_vr_valor()); cart.set_vr_disp_educacional(disp.ToString()); } // ## Atualiza cartão if (!cart.synchronize_T_Cartao()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Atualizar transação original LOG_Transacoes tmp_l_tr = new LOG_Transacoes(this); tmp_l_tr.ExclusiveAccess(); if (!tmp_l_tr.select_rows_nsu_oper(input_st_nsu_cancelado, OperacaoCartao.PAY_FONE_GRAVA_PEND, GetTodayStartTime(), GetTodayEndTime())) { output_st_msg = "NSU inválido (" + input_st_nsu_cancelado.TrimStart('0') + ")"; return(false); } if (!tmp_l_tr.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } // ## Confirma cancelamento tmp_l_tr.set_tg_contabil(Context.TRUE); tmp_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada); // ## Atualiza transação if (!tmp_l_tr.synchronize_LOG_Transacoes()) { output_st_msg = "Erro aplicativo"; return(false); } output_st_codResp = "00"; output_st_msg = "NSU: " + input_st_nsu_cancelado.TrimStart('0'); /// USER [ execute ] END Registry("execute done exec_pf_cancelaVenda "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_pf_consultaAutorizacao "); /// USER [ execute ] // ## Busca telefone de lojista pf_lojista = new T_PayFone(this); if (!pf_lojista.select_rows_telefone(input_st_tel_lojista)) { output_st_codResp = "98"; output_st_msg = "Telefone invalido"; return(false); } if (!pf_lojista.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## busca pendência pelo cartão e terminal T_PendPayFone pendPayFone = new T_PendPayFone(this); if (pendPayFone.select_rows_cart_term(cart.get_identity(), pf_lojista.get_fk_terminal())) { // ## Pega do mais novo ao mais antigo pendPayFone.SetReversedFetch(); // ## Somente primeiros três registros while (pendPayFone.fetch() && output_array_generic_lst.Count < 3) { PF_DadosConsultaAutorizacao tmp = new PF_DadosConsultaAutorizacao(); tmp.set_vr_valor(pendPayFone.get_vr_valor()); tmp.set_st_nsu(pendPayFone.get_nu_nsu()); tmp.set_tg_sit(pendPayFone.get_en_situacao()); DateTime dt_data = Convert.ToDateTime(pendPayFone.get_dt_inclusao()); tmp.set_dt_ocorr(new StringBuilder().Append(dt_data.Day.ToString().PadLeft(2, '0')) .Append(@"/") .Append(dt_data.Month.ToString().PadLeft(2, '0')) .Append(@"/") .Append(dt_data.Year.ToString()).ToString()); output_array_generic_lst.Add(tmp); } } while (output_array_generic_lst.Count < 3) { output_array_generic_lst.Add(new PF_DadosConsultaAutorizacao()); } /// USER [ execute ] END Registry("execute done exec_pf_consultaAutorizacao "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_pf_consultaPendencia "); /// USER [ execute ] // ## Busca pendênciade um cartão T_PendPayFone pendPayFone = new T_PendPayFone(this); if (!pendPayFone.select_rows_cart_sit(pf_usuario.get_fk_cartao(), TipoPendPayFone.PENDENTE)) { output_st_codResp = "01"; output_st_msg = "Nenhuma pendencia"; return(false); } if (!pendPayFone.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Busca terminal da pendência T_Terminal tmp_term = new T_Terminal(this); if (!tmp_term.selectIdentity(pendPayFone.get_fk_terminal())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Busca Loja vinculada ao terminal T_Loja loj = new T_Loja(this); if (!loj.selectIdentity(tmp_term.get_fk_loja())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Devolve nsu, valor e nome da loja output_st_nsu = pendPayFone.get_nu_nsu(); output_st_valor = pendPayFone.get_vr_valor(); output_st_nomeLoja = loj.get_st_nome(); /// USER [ execute ] END Registry("execute done exec_pf_consultaPendencia "); return(true); }