public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_user_lojista "); /// USER [ execute ] T_Usuario lojista = new T_Usuario(this); LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this); if (lojista.selectAll()) { while (lojista.fetch()) { if (lojista.get_tg_nivel() == TipoUsuario.Lojista) { if (!lut.select_fk_user(lojista.get_identity())) { DadosUsuario du = new DadosUsuario(); du.set_id_usuario(lojista.get_identity()); du.set_st_nome(lojista.get_st_nome()); output_array_generic_lst.Add(du); } } } } /// USER [ execute ] END Registry("execute done fetch_user_lojista "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_vincula_lojista "); /// USER [ execute ] T_Loja loj = new T_Loja(this); if (!loj.select_rows_loja(input_st_cod_loja)) { PublishError("loja inexistente"); return(false); } if (!loj.fetch()) { return(false); } T_Usuario lojista = new T_Usuario(this); if (!lojista.selectIdentity(input_id_usuario)) { PublishError("Usuário inexistente"); return(false); } if (lojista.get_tg_nivel() != TipoUsuario.Lojista) { PublishError("Usuário incorreto"); return(false); } T_Terminal term = new T_Terminal(this); if (!term.select_fk_loja(loj.get_identity())) { PublishError("Loja não possui terminais"); return(false); } if (!term.fetch()) { return(false); } LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this); if (lut.select_fk_user(lojista.get_identity())) { PublishError("Usuário já possui terminal"); return(false); } lut.set_fk_term(term.get_identity()); lut.set_fk_user(lojista.get_identity()); if (!lut.create_LINK_UsuarioTerminal()) { return(false); } PublishNote("Lojista vinculado ao seu terminal com sucesso"); /// USER [ execute ] END Registry("execute done exec_vincula_lojista "); 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 void copy(ref LINK_UsuarioTerminal cpy) { fk_user = cpy.fk_user; fk_term = cpy.fk_term; }
public override bool execute( ) { Registry("execute exec_login "); /// USER [ execute ] output_tg_trocaSenha = Context.FALSE; user = new T_Usuario(this); user.ExclusiveAccess(); // ## Busca usuário com nome e cód de empresa if (loginLojista) { string st_loja = input_st_empresa.Replace("L", ""); T_Loja loj = new T_Loja(this); if (!loj.select_rows_loja(st_loja)) { PublishError("Usuário ou senha incorretos"); return(false); } if (!loj.fetch()) { return(false); } T_Terminal term = new T_Terminal(this); if (!term.select_fk_loja(loj.get_identity())) { PublishError("Usuário ou senha incorretos"); return(false); } if (!term.fetch()) { return(false); } LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this); if (!lut.select_fk_term(term.get_identity())) { PublishError("Usuário ou senha incorretos"); return(false); } bool found = false; T_Usuario usr_lojista = new T_Usuario(this); while (lut.fetch()) { if (!usr_lojista.selectIdentity(lut.get_fk_user())) { return(false); } Trace(usr_lojista.get_st_nome()); if (usr_lojista.get_st_nome() == input_st_nome) { found = true; break; } } if (!found) { PublishError("Usuário ou senha incorretos"); return(false); } if (!user.selectIdentity(usr_lojista.get_identity())) { return(false); } input_st_empresa = st_loja; output_cont_header.set_nu_terminal(term.get_nu_terminal()); } else { if (!user.select_rows_login(input_st_nome, input_st_empresa)) { PublishError("Usuário ou senha incorretos"); return(false); } if (!user.fetch()) { return(false); } } // ## Confere bloqueio if (user.get_tg_bloqueio() != Context.FALSE) { PublishError("Usuário ou senha incorretos"); return(false); } // ## Confere senha if (user.get_st_senha() != input_st_senha) { user.set_nu_senhaErrada(Convert.ToString(user.get_int_nu_senhaErrada() + 1)); if (user.get_int_nu_senhaErrada() >= 3) { // ## Na terceira senha errada, bloqueia cartão //user.set_tg_bloqueio ( Context.TRUE ); //user.set_nu_senhaErrada ( 0 ); } // ## Atualiza if (!user.synchronize_T_Usuario()) { return(false); } PublishError("Usuário ou senha incorretos"); return(false); } else { // ## Zera senhas erradas ut_coverMark(1); user.set_nu_senhaErrada(0); } // ## Caso o ultimo logoff não foi executado, ou seja, // ## o usuário não fechou corretamente sua última instância if (user.get_tg_logoff() == Context.FALSE) { // ## Mais de cinco minutos se passaram... if (TimeSpanCtrl(user.get_dt_ultUso(), TSpan_Mode.MORE_THAN, 5, TSpan_Range.Minutes) == true) { PublishNote("Disconectando sessão ociosa por mais de cinco minutos"); } else { PublishError("Não são permitidas multiplas sessões"); return(false); } } // ## Seto que o logoff precisa ser feito user.set_tg_logoff(Context.FALSE); // ## Confere se senha expirou... if (TimeSpanCtrl(user.get_dt_trocaSenha(), TSpan_Mode.MORE_THAN, 60, TSpan_Range.Days) == true) { output_tg_trocaSenha = Context.TRUE; PublishNote("É necessário trocar sua senha"); } // ## Confere se admin requisitou troca de senha if (user.get_tg_trocaSenha() == Context.TRUE) { output_tg_trocaSenha = Context.TRUE; PublishNote("É necessário trocar sua senha"); } // ## Seto login feito agora user.set_dt_ultUso(GetDataBaseTime()); // ## Atualizo usuário if (!user.synchronize_T_Usuario()) { return(false); } output_cont_header.set_st_session(var_SessionKey); output_cont_header.set_st_empresa(input_st_empresa); output_cont_header.set_st_user_id(user.get_identity()); output_cont_header.set_tg_user_type(user.get_tg_nivel()); /// USER [ execute ] END Registry("execute done exec_login "); return(true); }