public override bool authenticate( ) { Registry("authenticate exec_pos_confirmaVendaEmpresarial "); /// USER [ authenticate ] input_st_nsu = input_st_nsu.PadLeft(6, '0'); old_l_tr = new LOG_Transacoes(this); old_l_tr.ExclusiveAccess(); // ## Busca NSU de hoje para // ## confirmação de cancelamento if (!old_l_tr.select_rows_nsu_oper(input_st_nsu, OperacaoCartao.VENDA_EMPRESARIAL, GetTodayStartTime(), GetTodayEndTime())) { output_st_msg = "NSU inválido (" + input_st_nsu.TrimStart('0') + ")"; return(false); } if (!old_l_tr.fetch()) { return(false); } // ## Busca cartão envolvido na transação cart = new T_Cartao(this); cart.ExclusiveAccess(); if (!cart.selectIdentity(old_l_tr.get_fk_cartao())) { return(false); } var_nu_nsuAtual = input_st_nsu; /// USER [ authenticate ] END Registry("authenticate done exec_pos_confirmaVendaEmpresarial "); return(true); }
public override bool execute( ) { Registry("execute exec_pos_desfazVendaEmpresarialSITEF "); /// USER [ execute ] // ## Atualizar transação LOG_Transacoes l_tr_upd = new LOG_Transacoes(this); l_tr_upd.ExclusiveAccess(); if (!l_tr_upd.selectIdentity(l_tr.get_identity())) { output_st_msg = "Erro aplicativo"; return(false); } // ## Setar como desfeita l_tr_upd.set_tg_confirmada(TipoConfirmacao.Desfeita); // ## Atualizar if (!l_tr_upd.synchronize_LOG_Transacoes()) { output_st_msg = "Erro aplicativo"; return(false); } output_cont_pr.set_st_nsuRcb(l_tr.get_nu_nsu()); /// USER [ execute ] END Registry("execute done exec_pos_desfazVendaEmpresarialSITEF "); return(true); }
public override bool authenticate( ) { Registry("authenticate exec_pos_cancelaVendaEmpresarial "); /// USER [ authenticate ] var_codResp = "0606"; cart = new T_Cartao(this); old_l_tr = new LOG_Transacoes(this); // ## Buscar transação original old_l_tr.ExclusiveAccess(); if (input_dt_hoje != "") { DateTime start = Convert.ToDateTime(input_dt_hoje); DateTime end = Convert.ToDateTime(input_dt_hoje).AddDays(1); // ## Buscar transação de NSU com data especifica if (!old_l_tr.select_rows_nsu_oper(input_st_nsu_cancel, OperacaoCartao.VENDA_EMPRESARIAL, GetDataBaseTime(start), GetDataBaseTime(end))) { output_st_msg = "NSU inválido (" + input_st_nsu_cancel.TrimStart('0') + ")"; var_codResp = "1212"; return(false); } } else { // ## Buscar transação de NSU com data de hoje if (!old_l_tr.select_rows_nsu_oper(input_st_nsu_cancel, OperacaoCartao.VENDA_EMPRESARIAL, GetTodayStartTime(), GetTodayEndTime())) { output_st_msg = "NSU inválido (" + input_st_nsu_cancel.TrimStart('0') + ")"; var_codResp = "1212"; return(false); } } if (!old_l_tr.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } valor = old_l_tr.get_vr_total(); dt_orig = old_l_tr.get_dt_transacao(); // ## Buscar terminal T_Terminal term = new T_Terminal(this); if (!term.selectIdentity(old_l_tr.get_fk_terminal())) { output_st_msg = "Erro aplicativo"; return(false); } // ## Caso terminais diferentes, sair // desnecessário /* * if (term.get_nu_terminal() != input_cont_pe.get_st_terminal()) * { * output_st_msg = "Terminal inválido"; * var_codResp = "0303"; * return false; * }*/ // conferir se usuário que quer cancelar (via client) // a transação é da mesma empresa ou // se for lojista, for o mesmo terminal if (input_id_user != "") { T_Usuario user = new T_Usuario(this); if (!user.selectIdentity(input_id_user)) { output_st_msg = "Usuário inválido"; var_codResp = "0303"; return(false); } if (user.get_tg_nivel() == TipoUsuario.Lojista) { #region - lojista - LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this); if (!lut.select_fk_term(term.get_identity())) { output_st_msg = "Usuário inválido"; var_codResp = "0303"; return(false); } if (!lut.fetch()) { output_st_msg = "Usuário inválido"; var_codResp = "0303"; return(false); } if (lut.get_fk_user() != user.get_identity()) { output_st_msg = "Transação não pertence à sua loja"; var_codResp = "0303"; return(false); } #endregion } else if (user.get_tg_nivel() != TipoUsuario.OperadorConvey && user.get_tg_nivel() != TipoUsuario.SuperUser) { #region - operadores normais - T_Empresa emp = new T_Empresa(this); if (!emp.select_rows_empresa(user.get_st_empresa())) { output_st_msg = "Empresa inválida"; var_codResp = "0303"; return(false); } if (!emp.fetch()) { output_st_msg = "Empresa inválida"; var_codResp = "0303"; return(false); } if (old_l_tr.get_fk_empresa() != emp.get_identity()) { output_st_msg = "Transação não pertence à sua empresa"; var_codResp = "0303"; return(false); } #endregion } } // ## Atualizar cartão cart.ExclusiveAccess(); if (!cart.selectIdentity(old_l_tr.get_fk_cartao())) { output_st_msg = "Erro aplicativo"; return(false); } // ## Se transação já foi cancelada, sair if (old_l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada) { output_st_msg = "prev. cancel"; var_codResp = "N3N3"; return(false); } // ## Confirma cancelamento old_l_tr.set_tg_contabil(Context.TRUE); old_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada); // ## Atualizar transação original if (!old_l_tr.synchronize_LOG_Transacoes()) { output_st_msg = "Erro aplicativo"; return(false); } var_codResp = "0000"; /// USER [ authenticate ] END Registry("authenticate done exec_pos_cancelaVendaEmpresarial "); return(true); }
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_resolvePend "); /// USER [ execute ] DateTime start = Convert.ToDateTime(input_dt_ini); DateTime end = Convert.ToDateTime(input_dt_ini).AddDays(1); LOG_Transacoes ltr = new LOG_Transacoes(this); ltr.ExclusiveAccess(); if (!ltr.select_rows_nsu(input_nsu, GetDataBaseTime(start), GetDataBaseTime(end))) { PublishError("NSU não disponível"); return(false); } if (!ltr.fetch()) { return(false); } if (ltr.get_tg_confirmada() == input_tg_confirmada) { PublishError("Transação previamente resolvida"); return(false); } if (input_tg_confirmada == TipoConfirmacao.Cancelada) { T_Cartao cart = new T_Cartao(this); cart.ExclusiveAccess(); if (cart.selectIdentity(ltr.get_fk_cartao())) { if (cart.get_tg_tipoCartao() == TipoCartao.presente) { cart.set_vr_limiteTotal(cart.get_int_vr_limiteTotal() + ltr.get_int_vr_total()); if (!cart.synchronize_T_Cartao()) { return(false); } } } cart.ReleaseExclusive(); } ltr.set_tg_confirmada(input_tg_confirmada); if (!ltr.synchronize_LOG_Transacoes()) { return(false); } ltr.ReleaseExclusive(); if (input_tg_confirmada == TipoConfirmacao.Confirmada) { PublishNote("Transação confirmada com sucesso"); } else { PublishNote("Transação cancelada com sucesso"); } /// USER [ execute ] END Registry("execute done exec_resolvePend "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_pf_cancelaPendencia "); /// USER [ execute ] // ## Busco pendência de payfone pelo NSU informado // ## para atualização 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); } // ## busco terminal vinculado à pendência 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(); // ## Se pendência tiver sido cancelada ou confirmada, sair if (pend.get_en_situacao() != TipoPendPayFone.PENDENTE) { output_st_codResp = "02"; output_st_msg = "NSU não pendente (" + input_st_nsu_cancelado.TrimStart('0') + ")"; return(false); } // ## Nego esta pendência (requesição de usuário, não de lojista) pend.set_en_situacao(TipoPendPayFone.NEGADO); // ## Atualizar if (!pend.synchronize_T_PendPayFone()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Buscar transação original para atualização 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); } // ## Atualizar valores tmp_l_tr.set_tg_contabil(Context.FALSE); tmp_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada); 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_cancelaPendencia "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_pf_autorizaVendaPendente "); /// USER [ execute ] // ## Busco pendência de acordo com NSU pendPayFone = new T_PendPayFone(this); /*DateTime tim = new DateTime ( DateTime.Now.Year, * DateTime.Now.Month, * DateTime.Now.Day ); */ if (!pendPayFone.select_rows_nsu(input_st_nsu /*GetDataBaseTime ( tim ) , * GetDataBaseTime ( tim.AddDays(1) )*/)) { output_st_codResp = "01"; output_st_msg = "Nenhuma pendência (" + input_st_nsu.TrimStart('0') + ")"; return(false); } if (!pendPayFone.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Busco terminal de acordo com FK da pendência if (!term.selectIdentity(pendPayFone.get_fk_terminal())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } var_valorTotal = pendPayFone.get_vr_valor(); Trace(pendPayFone.get_en_situacao()); // ## Se sit. já foi confirmada, sair if (pendPayFone.get_en_situacao() == TipoPendPayFone.CONFIRMADO) { output_st_codResp = "03"; output_st_msg = "NSU Prev. Confirmado (" + input_st_nsu.TrimStart('0') + ")"; return(false); } // ## Se esta pendência já foi cancelada ou negada, sair if (pendPayFone.get_en_situacao() == TipoPendPayFone.NEGADO || pendPayFone.get_en_situacao() == TipoPendPayFone.CANCELADO) { output_st_codResp = "04"; output_st_msg = "NSU Prev. Cancelado (" + input_st_nsu.TrimStart('0') + ")"; return(false); } // ## Atualizar senhas cart.ExclusiveAccess(); // ## Busco o mesmo registro para atualização if (!cart.selectIdentity(cart.get_identity())) { return(false); } // ## Verifico senhas if (cart.get_st_senha() != input_st_senha) { long senhasErradas = cart.get_int_nu_senhaErrada() + 1; cart.set_nu_senhaErrada(senhasErradas.ToString()); // ## Cinco senhas erradas, bloqueia cartão vinculado ao payfone if (senhasErradas > 4) { cart.set_tg_status(CartaoStatus.Bloqueado); } // ## Atualiza if (!cart.synchronize_T_Cartao()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } output_st_codResp = "02"; output_st_msg = "Senha Errada"; return(false); } else { // ## Zera senhas cart.set_nu_senhaErrada(Context.NONE); if (!cart.synchronize_T_Cartao()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } } // ## Verifica disponivel mensal nas parcelas T_Parcelas parc = new T_Parcelas(this); vr_limMes = cart.get_int_vr_limiteMensal(); vr_limTot = cart.get_int_vr_limiteTotal() + cart.get_int_vr_extraCota(); new ApplicationUtil().GetSaldoDisponivel(ref cart, ref vr_limMes, ref vr_limTot); // ## Conferir limite mensal if (pendPayFone.get_int_vr_valor() > vr_limMes) { output_st_codResp = "03"; output_st_msg = "limite mês excedido"; return(false); } // ## Conferir limite total if (pendPayFone.get_int_vr_valor() > vr_limTot) { output_st_codResp = "04"; output_st_msg = "limite total excedido"; return(false); } // ## Criar as parcelas T_Parcelas new_parc = new T_Parcelas(this); #region - atribuição - new_parc.set_nu_nsu(input_st_nsu); new_parc.set_fk_empresa(emp.get_identity()); new_parc.set_fk_cartao(cart.get_identity()); new_parc.set_dt_inclusao(GetDataBaseTime()); new_parc.set_nu_parcela("1"); new_parc.set_nu_tot_parcelas("1"); new_parc.set_nu_indice("1"); new_parc.set_vr_valor(pendPayFone.get_vr_valor()); new_parc.set_tg_pago(TipoParcela.EM_ABERTO); #endregion // ## Buscar terminal term = new T_Terminal(this); if (!term.selectIdentity(pendPayFone.get_fk_terminal())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Atribuir os links corretamente new_parc.set_fk_loja(term.get_fk_loja()); new_parc.set_fk_terminal(term.get_identity()); // ## Confirmo a pendência pendPayFone.set_en_situacao(TipoPendPayFone.CONFIRMADO); // ## Atualizar tabela if (!pendPayFone.synchronize_T_PendPayFone()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Busco transação de gravação de pendência do payfone LOG_Transacoes l_tr = new LOG_Transacoes(this); l_tr.ExclusiveAccess(); if (!l_tr.select_rows_nsu_oper(input_st_nsu, OperacaoCartao.PAY_FONE_GRAVA_PEND, GetTodayStartTime(), GetTodayEndTime())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } if (!l_tr.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } output_st_nsu_autorizado = input_st_nsu; // ## Confirmo esta transação l_tr.set_tg_contabil(Context.TRUE); l_tr.set_tg_confirmada(TipoConfirmacao.Confirmada); // ## Atualizo if (!l_tr.synchronize_LOG_Transacoes()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Atribuo a minha transação para a parcela criada com payfone new_parc.set_fk_log_transacoes(l_tr.get_identity()); // ## Crio o registro na tabela de parcelas (somente a vista!) if (!new_parc.create_T_Parcelas()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } output_st_codResp = "00"; output_st_msg = "NSU: " + input_st_nsu.TrimStart('0'); /// USER [ execute ] END Registry("execute done exec_pf_autorizaVendaPendente "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_pf_cancelaPendenciaLojista "); /// USER [ execute ] // ## Busco pendência de payfone 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); } // ## Busco terminal 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(); T_PayFone pf_lojista = new T_PayFone(this); // ## Busco pelo lojista cujo telefone (terminal) está vinculado // ## à pendência if (!pf_lojista.select_fk_term(pend.get_fk_terminal())) { output_st_codResp = "05"; output_st_msg = "Lojista invalido"; return(false); } if (!pf_lojista.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Conferir se telefones batem if (pf_lojista.get_st_telefone() != input_st_tel_lojista) { output_st_codResp = "06"; output_st_msg = "Lojista inválido"; } // ## Se pendência já deixou de ser pendente, sair if (pend.get_en_situacao() != TipoPendPayFone.PENDENTE) { output_st_codResp = "02"; output_st_msg = "NSU não pendente (" + input_st_nsu_cancelado.TrimStart('0') + ")"; return(false); } // ## Cancelar pendência do lojista pend.set_en_situacao(TipoPendPayFone.CANCELADO); if (!pend.synchronize_T_PendPayFone()) { 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); } // ## Cancelar transação tmp_l_tr.set_tg_contabil(Context.FALSE); tmp_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada); // ## Atualizar tabela 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_cancelaPendenciaLojista "); return(true); }