Esempio n. 1
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_usuarios ");

            /// USER [ execute ]

            T_Usuario m_user = new T_Usuario(this);

            StringBuilder sb = new StringBuilder();

            for (int t = 0; t < var_util.indexCSV(input_st_csv_list); ++t)
            {
                if (!m_user.selectIdentity(var_util.getCSV(t)))
                {
                    return(false);
                }

                if (m_user.get_tg_bloqueio() == "2")
                {
                    continue;
                }

                DadosUsuario du = new DadosUsuario();

                du.set_id_usuario(m_user.get_identity());
                du.set_st_empresa(m_user.get_st_empresa());
                du.set_st_nome(m_user.get_st_nome());
                du.set_tg_bloqueio(m_user.get_tg_bloqueio());
                du.set_tg_nivel(m_user.get_tg_nivel());

                DataPortable mem_rtc = du as DataPortable;

                // ## obtem indice

                sb.Append(MemorySave(ref mem_rtc));
                sb.Append(",");
            }

            string list_ids = sb.ToString().TrimEnd(',');

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## obtem indice geral

            output_st_csv = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_usuarios ");

            return(true);
        }
        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);
        }
Esempio n. 4
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_listaUsuarios ");

            /// USER [ execute ]

            T_Usuario m_user = new T_Usuario(this);

            // ## Busca usuários da empresa

            if (input_cont_header.get_st_empresa() == "000000")
            {
                // ## Todos, ordenados por empresa

                m_user.select_rows_empresa_super();
            }
            else
            {
                // ## Somente vinculados a uma empresa

                m_user.select_rows_empresa(input_cont_header.get_st_empresa());
            }

            int max = m_user.RowCount();

            StringBuilder sb = new StringBuilder();

            while (m_user.fetch())
            {
                // ## Copia dados

                if (m_user.get_tg_bloqueio() == "2")
                {
                    continue;
                }

                DadosUsuario info = new DadosUsuario();

                info.set_id_usuario(m_user.get_identity());
                info.set_st_nome(m_user.get_st_nome());
                info.set_tg_bloqueio(m_user.get_tg_bloqueio());
                info.set_tg_nivel(m_user.get_tg_nivel());
                info.set_st_empresa(m_user.get_st_empresa());

                DataPortable tmp = info as DataPortable;

                // ## Obtem identificador para registro

                sb.Append(MemorySave(ref tmp));
                sb.Append(",");
            }

            string list_ids = sb.ToString().TrimEnd(',');

            if (list_ids == "")
            {
                PublishNote("Nenhum resultado foi encontrado");
                return(true);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## Obtem identificador geral

            output_st_csv_id = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_listaUsuarios ");

            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 fetch_rel_fechCaixa ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Empresa não disponível");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            output_st_nome_empresa = emp.get_st_fantasia();

            T_Quiosque qui = new T_Quiosque(this);

            if (!qui.select_fk_empresa(emp.get_identity()))
            {
                PublishError("Nenhum quiosque disponível");
                return(false);
            }

            while (qui.fetch())
            {
                DadosQuiosque dq = new DadosQuiosque();

                dq.set_st_nome(qui.get_st_nome());

                output_array_generic_lstQuiosques.Add(dq);
            }

            T_Usuario usrQuiosque = new T_Usuario(this);

            if (!usrQuiosque.select_rows_empresa(input_st_empresa))
            {
                PublishError("Nenhum vendedor disponível");
                return(false);
            }

            StringBuilder sb_content = new StringBuilder();

            T_Cartao cart = new T_Cartao(this);

            LOG_VendaCartaoGift  lvc = new LOG_VendaCartaoGift(this);
            LOG_VendaProdutoGift lvp = new LOG_VendaProdutoGift(this);

            while (usrQuiosque.fetch())
            {
                if (usrQuiosque.get_tg_nivel() != TipoUsuario.VendedorGift &&
                    usrQuiosque.get_tg_nivel() != TipoUsuario.AdminGift)
                {
                    continue;
                }

                if (!lvc.select_rows_vendedor(usrQuiosque.get_identity(),
                                              input_dt_ini,
                                              input_dt_fim))
                {
                    continue;
                }

                qui.selectIdentity(usrQuiosque.get_fk_quiosque());

                while (lvc.fetch())
                {
                    if (!cart.selectIdentity(lvc.get_fk_cartao()))
                    {
                        return(false);
                    }

                    DadosFechCaixa rel_line = new DadosFechCaixa();

                    rel_line.set_st_quiosque(qui.get_st_nome());
                    rel_line.set_st_vendedor(usrQuiosque.get_st_nome());

                    rel_line.set_st_cartao(cart.get_st_empresa() + "." +
                                           cart.get_st_matricula() + "." +
                                           cart.get_st_titularidade());

                    rel_line.set_vr_credito(lvc.get_vr_carga());

                    long tot_prods = 0;
                    long tot       = lvc.get_int_vr_carga();

                    if (lvp.select_fk_venda(lvc.get_identity()))
                    {
                        // primeira sempre é carga ou recarga
                        if (lvp.fetch())
                        {
                            rel_line.set_vr_tarifa(lvp.get_vr_valor());
                        }

                        while (lvp.fetch())
                        {
                            tot_prods += lvp.get_int_vr_valor();
                        }
                    }

                    tot += tot_prods;

                    rel_line.set_vr_prods(tot_prods.ToString());
                    rel_line.set_st_extra(lvc.get_st_cheque());
                    rel_line.set_tg_pagto(lvc.get_tg_tipoPag());
                    rel_line.set_dt_venda(lvc.get_dt_compra());

                    if (cart.get_tg_status() == CartaoStatus.Bloqueado)
                    {
                        if (cart.get_tg_motivoBloqueio() == MotivoBloqueio.CANCELAMENTO)
                        {
                            rel_line.set_st_extra("Cancelado");
                            rel_line.set_tg_pagto("4");
                        }
                    }

                    rel_line.set_vr_total(tot.ToString());

                    // index em memoria, retrieve depois
                    {
                        DataPortable port = rel_line;

                        sb_content.Append(MemorySave(ref port));
                        sb_content.Append(",");
                    }
                }
            }

            // indexa todos os items
            {
                string list_ids = sb_content.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishNote("Nenhum registro encontrado");
                    return(false);
                }

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## Guarda indexador de grupo

                output_st_csv_contents = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_fechCaixa ");

            return(true);
        }
Esempio n. 7
0
        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);
        }