Exemplo n.º 1
0
        public override bool finish( )
        {
            if (base.finish() == false)
            {
                return(false);
            }

            Registry("finish load_edu ");

            /// USER [ finish ]

            T_Cartao         cart     = new T_Cartao(this);
            T_Cartao         cart_upd = new T_Cartao(this);
            T_InfoAdicionais info     = new T_InfoAdicionais(this);

            if (cart.select_rows_empresa(escola))
            {
                while (cart.fetch())
                {
                    if (info.selectIdentity(cart.get_fk_infoAdicionais()))
                    {
                        if (info.get_dt_edu_atualizacao() != dt_atual)
                        {
                            cart_upd.ExclusiveAccess();

                            if (cart_upd.selectIdentity(cart.get_identity()))
                            {
                                cart_upd.set_tg_status(CartaoStatus.EmDesativacao);

                                cart_upd.synchronize_T_Cartao();
                                cart_upd.ReleaseExclusive();
                            }
                        }
                    }
                }
            }

            /// USER [ finish ] END

            Registry("finish done load_edu ");

            if (remoteTransaction == true)
            {
                return(true);
            }

            return(true);
        }
Exemplo n.º 2
0
 public void copy(ref T_InfoAdicionais cpy)
 {
     st_codigo             = cpy.st_codigo;
     st_empresaAfiliada    = cpy.st_empresaAfiliada;
     st_presenteado        = cpy.st_presenteado;
     st_recado             = cpy.st_recado;
     dt_edu_nasc           = cpy.dt_edu_nasc;
     st_edu_sexo           = cpy.st_edu_sexo;
     st_edu_grau           = cpy.st_edu_grau;
     st_edu_serie_semestre = cpy.st_edu_serie_semestre;
     st_edu_turma          = cpy.st_edu_turma;
     st_edu_curso          = cpy.st_edu_curso;
     dt_edu_atualizacao    = cpy.dt_edu_atualizacao;
     st_empresa            = cpy.st_empresa;
     st_matricula          = cpy.st_matricula;
 }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute ins_cartaoProprietario ");

            /// USER [ execute ]

            bool update_Proprietario = false;

            int titularidade = 1;

            prot.ExclusiveAccess();

            if (prot.select_rows_cpf(input_cont_dp.get_st_cpf()))
            {
                if (!prot.fetch())
                {
                    PublishError(Erro.NovoCartao);
                    return(false);
                }

                update_Proprietario = true;

                // confere se tem mais de um cartão nesta empresa

                T_Cartao tmp_cart = new T_Cartao(this);

                if (tmp_cart.select_rows_emp_prop(input_cont_dc.get_st_empresa().PadLeft(6, '0'), prot.get_identity()))
                {
                    if (tmp_cart.RowCount() > 0)
                    {
                        prot.ReleaseExclusive();

                        PublishError("CPF já cadastrrado para outro cartão nesta empresa (" + input_cont_dc.get_st_empresa().PadLeft(6, '0') + ")");
                        return(false);
                    }
                }
            }

            prot.set_st_cpf(input_cont_dp.get_st_cpf());
            prot.set_st_nome(input_cont_dp.get_st_nome().ToUpper());
            prot.set_st_endereco(input_cont_dp.get_st_endereco());
            prot.set_st_numero(input_cont_dp.get_st_numero());
            prot.set_st_complemento(input_cont_dp.get_st_complemento());
            prot.set_st_bairro(input_cont_dp.get_st_bairro());
            prot.set_st_cidade(input_cont_dp.get_st_cidade().ToUpper());
            prot.set_st_UF(input_cont_dp.get_st_UF());
            prot.set_st_cep(input_cont_dp.get_st_CEP());
            prot.set_st_ddd(input_cont_dp.get_st_ddd());
            prot.set_st_telefone(input_cont_dp.get_st_telefone());
            prot.set_dt_nasc(input_cont_dp.get_dt_nasc());
            prot.set_st_email(input_cont_dp.get_st_email());
            prot.set_vr_renda(input_cont_dp.get_vr_renda());
            prot.set_st_senhaEdu(input_cont_da.get_st_senha_resp());

            if (update_Proprietario)
            {
                if (!prot.synchronize_T_Proprietario())
                {
                    PublishError(Erro.NovoCartao);
                    return(false);
                }
            }
            else
            {
                if (!prot.create_T_Proprietario())
                {
                    PublishError(Erro.NovoCartao);
                    return(false);
                }
            }

            prot.ReleaseExclusive();

            T_InfoAdicionais add_info = new T_InfoAdicionais(this);

            add_info.set_st_codigo(Context.NOT_SET);
            add_info.set_st_empresaAfiliada(input_cont_da.get_st_empresa());
            add_info.set_st_presenteado(input_cont_da.get_st_presenteado());
            add_info.set_st_recado(input_cont_da.get_st_recado());

            if (!add_info.create_T_InfoAdicionais())
            {
                PublishError(Erro.NovoCartao);
                return(false);
            }

            if (input_cont_dc.get_tg_tipoCartao() == TipoCartao.presente)
            {
                cart.set_fk_dadosProprietario(prot.get_identity());
                cart.set_fk_infoAdicionais(add_info.get_identity());
                cart.set_tg_status(CartaoStatus.Habilitado);
                cart.set_vr_limiteTotal(input_cont_dc.get_vr_dispTotal());
                cart.set_tg_tipoCartao(TipoCartao.presente);

                cart.set_st_senha(var_util.DESCript("9999".PadLeft(8, '*'), "12345678"));

                if (!cart.synchronize_T_Cartao())
                {
                    return(false);
                }
            }
            else
            {
                cart.Reset();

                cart.set_st_empresa(input_cont_dc.get_st_empresa().PadLeft(6, '0'));
                cart.set_st_matricula(input_cont_dc.get_st_matricula().PadLeft(6, '0'));
                cart.set_st_titularidade(titularidade.ToString().PadLeft(2, '0'));
                cart.set_st_senha(input_cont_dc.get_st_senha());
                cart.set_tg_tipoCartao(input_cont_dc.get_tg_tipoCartao());
                cart.set_st_venctoCartao(input_cont_dc.get_st_vencimento());
                cart.set_tg_status(CartaoStatus.Habilitado);
                cart.set_dt_utlPagto(GetDataBaseTime());
                cart.set_nu_senhaErrada(Context.NONE);
                cart.set_dt_inclusao(GetDataBaseTime());
                cart.set_dt_bloqueio(GetDataBaseTime());
                cart.set_tg_motivoBloqueio(CartaoMotivoBloqueio.Expirado);
                cart.set_st_banco(input_cont_dc.get_st_banco());
                cart.set_st_agencia(input_cont_dc.get_st_agencia());
                cart.set_st_conta(input_cont_dc.get_st_conta());
                cart.set_st_matriculaExtra(Context.FALSE);
                cart.set_st_celCartao(input_cont_dc.get_st_celCartao());
                cart.set_fk_dadosProprietario(prot.get_identity());
                cart.set_fk_infoAdicionais(add_info.get_identity());

                cart.set_nu_viaCartao("1");

                cart.set_vr_limiteTotal(input_cont_dc.get_vr_limiteTotal());
                cart.set_vr_limiteMensal(input_cont_dc.get_vr_limiteMensal());
                cart.set_vr_limiteRotativo(input_cont_dc.get_vr_limiteRotativo());
                cart.set_vr_extraCota(input_cont_dc.get_vr_extraCota());

                cart.set_st_aluno(input_cont_da.get_st_nome_aluno());

                cart.set_vr_educacional("0");
                cart.set_vr_disp_educacional("0");
                cart.set_vr_edu_diario("0");

                if (input_cont_dc.get_tg_tipoCartao() == TipoCartao.presente)
                {
                    // necessita de confirmação de produtos
                    cart.set_tg_status(CartaoStatus.Bloqueado);
                }

                if (!cart.create_T_Cartao())
                {
                    PublishError(Erro.NovoCartao);
                    return(false);
                }
            }

            LINK_ProprietarioCartao prop_cart = new LINK_ProprietarioCartao(this);

            prop_cart.set_fk_cartao(cart.get_identity());
            prop_cart.set_fk_proprietario(prot.get_identity());

            if (!prop_cart.create_LINK_ProprietarioCartao())
            {
                PublishError(Erro.NovoCartao);
                return(false);
            }

            for (int t = 0; t < var_util.indexCSV(input_st_csv_deps, '|'); ++t)
            {
                T_Cartao cart_dep = new T_Cartao(this);

                cart_dep.copy(ref cart);

                cart_dep.set_st_titularidade((++titularidade).ToString().PadLeft(2, '0'));

                if (!cart_dep.create_T_Cartao())
                {
                    PublishError(Erro.NovoCartao);
                    return(false);
                }

                T_Dependente dep = new T_Dependente(this);

                dep.set_nu_titularidade(cart_dep.get_st_titularidade());
                dep.set_st_nome(var_util.getCSV(t));
                dep.set_fk_proprietario(prot.get_identity());

                if (!dep.create_T_Dependente())
                {
                    PublishError(Erro.NovoCartao);
                    return(false);
                }
            }

            PublishNote("Cartão criado com sucesso");

            /// USER [ execute ] END

            Registry("execute done ins_cartaoProprietario ");

            return(true);
        }
Exemplo n.º 4
0
        public override bool finish( )
        {
            Registry("finish exec_pos_confirmaVendaEmpresarial ");

            /// USER [ finish ]

            var_nu_nsuAtual = old_l_tr.get_identity();

            if (IsFail)
            {
                var_operacaoCartao = var_operacaoCartaoFail;
            }

            // ## Buscar todas as tabelas auxiliares

            T_Empresa        emp  = new T_Empresa(this);
            T_Terminal       term = new T_Terminal(this);
            T_Loja           loj  = new T_Loja(this);
            T_Proprietario   prot = new T_Proprietario(this);
            T_InfoAdicionais info = new T_InfoAdicionais(this);

            if (emp.select_rows_empresa(cart.get_st_empresa()))
            {
                emp.fetch();
            }

            term.selectIdentity(old_l_tr.get_fk_terminal());
            loj.selectIdentity(term.get_fk_loja());
            prot.selectIdentity(cart.get_fk_dadosProprietario());
            info.selectIdentity(cart.get_fk_infoAdicionais());

            // ## Copiar dados para saída

            output_cont_pr.set_st_codResp(var_codResp);
            output_cont_pr.set_st_nsuRcb(var_nu_nsuAtual.PadLeft(6, '0'));

            output_cont_pr.set_st_nsuBanco(new StringBuilder().Append(DateTime.Now.Year.ToString())
                                           .Append(DateTime.Now.Month.ToString("00"))
                                           .Append(DateTime.Now.Day.ToString("00"))
                                           .Append(var_nu_nsuAtual.PadLeft(6, '0')).ToString());

            output_cont_pr.set_st_PAN(cart.get_st_empresa() +
                                      cart.get_st_matricula());

            output_cont_pr.set_st_mesPri(Context.EMPTY);

            output_cont_pr.set_st_loja(loj.get_st_loja());
            output_cont_pr.set_st_nomeCliente(prot.get_st_nome());

            T_Dependente dep_f = new T_Dependente(this);

            if (dep_f.select_rows_prop_tit(cart.get_fk_dadosProprietario(),
                                           cart.get_st_titularidade()))
            {
                if (dep_f.fetch())
                {
                    output_cont_pr.set_st_nomeCliente(dep_f.get_st_nome());
                }
            }

            output_cont_pr.set_st_variavel(info.get_st_empresaAfiliada());

            /// USER [ finish ] END

            Registry("finish done exec_pos_confirmaVendaEmpresarial ");

            if (remoteTransaction == true)
            {
                return(true);
            }

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_POS_CONFIRMAVENDAEMPRESARIAL.st_msg, output_st_msg);

            var_Comm.AddExitPortable(ref dp_out);

            DataPortable dp_cont_1 = new DataPortable();

            dp_cont_1.MapTagContainer(COMM_OUT_EXEC_POS_CONFIRMAVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable);

            var_Comm.AddExitPortable(ref dp_cont_1);

            return(true);
        }
        public override bool finish( )
        {
            Registry("finish exec_pos_cancelaVendaEmpresarial ");

            /// USER [ finish ]

            #region - cria NSU -

            LOG_NSU l_nsu = new LOG_NSU(this);

            l_nsu.set_dt_log(GetDataBaseTime());

            l_nsu.create_LOG_NSU();

            #endregion

            var_nu_nsuAtual = l_nsu.get_identity();

            if (IsFail)
            {
                var_operacaoCartao = var_operacaoCartaoFail;
            }

            T_Empresa        emp  = new T_Empresa(this);
            T_Terminal       term = new T_Terminal(this);
            T_Loja           loj  = new T_Loja(this);
            T_Proprietario   prot = new T_Proprietario(this);
            T_InfoAdicionais info = new T_InfoAdicionais(this);

            // ## Busca outras tabelas

            emp.select_rows_empresa(cart.get_st_empresa());
            emp.fetch();

            term.selectIdentity(old_l_tr.get_fk_terminal());
            loj.selectIdentity(term.get_fk_loja());
            prot.selectIdentity(cart.get_fk_dadosProprietario());
            info.selectIdentity(cart.get_fk_infoAdicionais());

            // ## Copia dados para saída

            output_cont_pr.set_st_codResp(var_codResp);
            output_cont_pr.set_st_nsuRcb(var_nu_nsuAtual.PadLeft(6, '0'));

            output_cont_pr.set_st_nsuBanco(new StringBuilder().Append(DateTime.Now.Year.ToString())
                                           .Append(DateTime.Now.Month.ToString("00"))
                                           .Append(DateTime.Now.Day.ToString("00"))
                                           .Append(var_nu_nsuAtual.PadLeft(6, '0')).ToString());

            output_cont_pr.set_st_PAN(cart.get_st_empresa() +
                                      cart.get_st_matricula());

            output_cont_pr.set_st_mesPri(Context.EMPTY);

            output_cont_pr.set_st_loja(loj.get_st_loja());
            output_cont_pr.set_st_nomeCliente(prot.get_st_nome());

            if (cart.get_st_titularidade() != "01" &&
                cart.get_st_titularidade() != "")
            {
                T_Dependente dep_f = new T_Dependente(this);

                if (dep_f.select_rows_prop_tit(cart.get_fk_dadosProprietario(),
                                               cart.get_st_titularidade()))
                {
                    if (dep_f.fetch())
                    {
                        output_cont_pr.set_st_nomeCliente(dep_f.get_st_nome());
                    }
                }
            }

            output_cont_pr.set_st_variavel(info.get_st_empresaAfiliada());

            // ## Cria nova transacao de registro ou de erro
            // ## para cancelamento

            LOG_Transacoes l_tr = new LOG_Transacoes(this);

            if (IsFail)
            {
                l_tr.set_tg_confirmada(TipoConfirmacao.Erro);
            }
            else
            {
                l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada);
            }

            l_tr.set_fk_terminal(term.get_identity());
            l_tr.set_fk_empresa(emp.get_identity());
            l_tr.set_fk_cartao(cart.get_identity());
            l_tr.set_vr_total(old_l_tr.get_vr_total());
            l_tr.set_nu_parcelas(old_l_tr.get_nu_parcelas());
            l_tr.set_nu_nsu(l_nsu.get_identity());
            l_tr.set_dt_transacao(GetDataBaseTime());
            l_tr.set_nu_cod_erro(output_cont_pr.get_st_codResp());
            l_tr.set_nu_nsuOrig("0");
            l_tr.set_en_operacao(var_operacaoCartao);

            // ajustado
            if (input_cont_pe.get_st_terminalSITEF().Length > 0)
            {
                l_tr.set_st_msg_transacao(input_cont_pe.get_st_terminalSITEF());
            }
            else
            {
                l_tr.set_st_msg_transacao(output_st_msg);
            }

            l_tr.set_tg_contabil(Context.FALSE);
            l_tr.set_fk_loja(term.get_fk_loja());
            l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
            l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());

            // ## Cria registro

            l_tr.create_LOG_Transacoes();

            /// USER [ finish ] END

            Registry("finish done exec_pos_cancelaVendaEmpresarial ");

            if (remoteTransaction == true)
            {
                return(true);
            }

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_POS_CANCELAVENDAEMPRESARIAL.st_msg, output_st_msg);

            var_Comm.AddExitPortable(ref dp_out);

            DataPortable dp_cont_1 = new DataPortable();

            dp_cont_1.MapTagContainer(COMM_OUT_EXEC_POS_CANCELAVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable);

            var_Comm.AddExitPortable(ref dp_cont_1);

            return(true);
        }
        public override bool authenticate( )
        {
            Registry("authenticate exec_pos_vendaEmpresarialSITEF ");

            /// USER [ authenticate ]

            cart  = new T_Cartao(this);
            emp   = new T_Empresa(this);
            l_nsu = new LOG_NSU(this);
            info  = new T_InfoAdicionais(this);
            prot  = new T_Proprietario(this);
            loj   = new T_Loja(this);

            // Default é erro genérico
            var_codResp = "9999";

            // Normal
            var_nu_nsuAtual    = Context.NONE;
            var_nu_nsuEntidade = Context.NONE;

            // Cancelamento
            var_nu_nsuOrig    = Context.NONE;
            var_nu_nsuEntOrig = Context.NONE;

            // Valores básicos de comércio
            var_vr_total    = input_cont_pe.get_vr_valor();
            var_nu_parcelas = input_cont_pe.get_nu_parcelas();

            var_codResp = "0606";

            // alterado

            #region - valida loja AO INVES DE TERMINAL (antigo) -

            // ## Busca terminal pelo seu código

            // pega os 7 ultimos
            if (!loj.select_rows_loja(input_cont_pe.get_st_terminal().Substring(1).TrimStart('0')))
            {
                output_st_msg = "Loja inexistente";
                var_codResp   = "0303";
                return(false);
            }

            if (!loj.fetch())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // alterado!
            // busca o primeiro terminal vinculado

            if (!term.select_fk_loja(loj.get_identity()))
            {
                output_st_msg = "Erro do terminal";
                return(false);
            }

            term.fetch();

            #endregion

            // continua igual

            #region - valida empresa -

            // ## Busca empresa informada

            if (!emp.select_rows_empresa(input_cont_pe.get_st_empresa()))
            {
                output_st_msg = "Empresa inexistente";
                var_codResp   = "0303";
                return(false);
            }

            if (!emp.fetch())
            {
                output_st_msg = "Erro de aplicativo";
                return(false);
            }

            // ## Caso empresa bloqueada, sair

            if (emp.get_tg_bloq() == Context.TRUE)
            {
                output_st_msg = "Empresa bloqueada";
                var_codResp   = "0303";
                return(false);
            }

            #endregion

            // alterado!

            #region - valida relação da Loja do Terminal com Empresa (Convênio)

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            if (!loj_emp.select_fk_empresa_loja(emp.get_identity(), loj.get_identity()))
            {
                output_st_msg = "Loja não conveniada";
                var_codResp   = "0303";
                return(false);
            }

            if (loj.get_tg_blocked() == Context.TRUE)
            {
                output_st_msg = "Loja bloqueada";
                var_codResp   = "0303";
                return(false);
            }

            if (loj.get_tg_cancel() == Context.TRUE)
            {
                output_st_msg = "Loja cancelada";
                var_codResp   = "0303";
                return(false);
            }

            #endregion

            // continua igual

            #region - valida cartão -

            if (!cart.select_rows_tudo(input_cont_pe.get_st_empresa(),
                                       input_cont_pe.get_st_matricula(),
                                       input_cont_pe.get_st_titularidade()))
            {
                output_st_msg = "Cartão inexistente";
                var_codResp   = "0606";
                return(false);
            }

            if (!cart.fetch())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // ## Verifica bloqueio

            if (cart.get_tg_status() == CartaoStatus.Bloqueado)
            {
                output_st_msg = "Cartão inválido";
                var_codResp   = "0505";
                return(false);
            }

            if (cart.get_tg_emitido() != StatusExpedicao.Expedido)
            {
                output_st_msg = "Cartão inválido";
                var_codResp   = "0505";
                return(false);
            }

            if (cart.get_tg_tipoCartao() == TipoCartao.educacional)
            {
                // ## No caso educacional, permitir somente venda
                // ## em uma parcela

                if (input_cont_pe.get_nu_parcelas().TrimStart('0') != "1")
                {
                    output_st_msg = "Somente uma parcela";
                    var_codResp   = "0606";
                    return(false);
                }
            }

            // ## Conferir vencto do cartão

            /*
             * if ( cart.get_tg_tipoCartao() == TipoCartao.empresarial )
             * {
             *      int year  = 2000 + Convert.ToInt32 ( cart.get_st_venctoCartao().Substring ( 2,2 ) );
             *      int month = Convert.ToInt32 ( cart.get_st_venctoCartao().Substring ( 0,2 ) );
             *      int day   = 1;
             *
             * DateTime tim_venc = new DateTime ( year, month, day );
             *
             * if ( tim_venc < DateTime.Now )
             *      {
             * output_st_msg     = "Cartão vencido";
             * var_codResp       = "7676";
             * return false;
             *      }
             * }
             */

            #endregion

            var_vr_total    = input_cont_pe.get_vr_valor();
            var_nu_parcelas = input_cont_pe.get_nu_parcelas();

            SQL_LOGGING_ENABLE = false;

            // continua igual

            #region - Verifica disponivel mensal nas parcelas -

            T_Parcelas parc = new T_Parcelas(this);

            string myId = cart.get_identity();

            if (cart.get_st_titularidade() != "01")
            {
                cart.select_rows_tudo(cart.get_st_empresa(),
                                      cart.get_st_matricula(),
                                      "01");
                cart.fetch();
            }

            vr_dispMes = cart.get_int_vr_limiteMensal() + cart.get_int_vr_extraCota();
            vr_dispTot = cart.get_int_vr_limiteTotal() + cart.get_int_vr_extraCota();

            vr_valor = Convert.ToInt64(input_cont_pe.get_vr_valor());

            if (cart.get_tg_tipoCartao() != TipoCartao.presente)
            {
                new ApplicationUtil().GetSaldoDisponivel(ref cart, ref vr_dispMes, ref vr_dispTot);

                int tmp_nu_parc = Convert.ToInt32(input_cont_pe.get_nu_parcelas());

                if (tmp_nu_parc > 1)
                {
                    if (vr_valor > vr_dispTot)
                    {
                        output_st_msg = "limite excedido";
                        var_codResp   = "2727";

                        SQL_LOGGING_ENABLE = true;

                        return(false);
                    }

                    LOG_Transacoes ltr     = new LOG_Transacoes(this);
                    T_Parcelas     parcTot = new T_Parcelas(this);

                    string tmp = input_cont_pe.get_st_valores();

                    ArrayList lstCartoes = new ArrayList();

                    T_Cartao c_t = new T_Cartao(this);

                    c_t.select_rows_empresa_matricula(cart.get_st_empresa(),
                                                      cart.get_st_matricula());

                    while (c_t.fetch())
                    {
                        lstCartoes.Add(c_t.get_identity());
                    }

                    for (int t = 1, index_pos = 0; t <= tmp_nu_parc; ++t)
                    {
                        long valor_unit_parc = Convert.ToInt64(tmp.Substring(index_pos, 12));

                        index_pos += 12;

                        if (valor_unit_parc > cart.get_int_vr_limiteMensal())
                        {
                            output_st_msg = "limite excedido";
                            var_codResp   = "2727";

                            SQL_LOGGING_ENABLE = true;

                            return(false);
                        }

                        long dispMesParc = cart.get_int_vr_limiteMensal();

                        // Verifica disponivel mensal nas parcelas
                        if (parcTot.select_rows_cartao_mensal(ref lstCartoes, t.ToString()))                              // este mês
                        {
                            while (parcTot.fetch())
                            {
                                if (ltr.selectIdentity(parcTot.get_fk_log_transacoes()))                                      // busca transação
                                {
                                    if (ltr.get_tg_confirmada() == TipoConfirmacao.Confirmada ||
                                        ltr.get_tg_confirmada() == TipoConfirmacao.Pendente)
                                    {
                                        dispMesParc -= parcTot.get_int_vr_valor();
                                    }
                                }
                            }
                        }

                        if (valor_unit_parc > dispMesParc)
                        {
                            output_st_msg = "limite excedido";
                            var_codResp   = "2727";

                            SQL_LOGGING_ENABLE = true;

                            return(false);
                        }
                    }
                }
                else
                {
                    if (vr_valor > vr_dispMes || vr_valor > vr_dispTot)
                    {
                        output_st_msg = "limite excedido";
                        var_codResp   = "2727";

                        SQL_LOGGING_ENABLE = true;

                        return(false);
                    }
                }
            }
            else
            {
                if (vr_valor > cart.get_int_vr_limiteTotal())
                {
                    output_st_msg = "limite excedido";
                    var_codResp   = "2727";

                    SQL_LOGGING_ENABLE = true;

                    return(false);
                }
            }

            if (myId != cart.get_identity())
            {
                // restaurar cartão dep
                cart.selectIdentity(myId);
            }

            #endregion

            SQL_LOGGING_ENABLE = true;

            /// USER [ authenticate ] END

            Registry("authenticate done exec_pos_vendaEmpresarialSITEF ");

            return(true);
        }
Exemplo n.º 7
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute load_edu ");

            /// USER [ execute ]

            StreamReader reader = new StreamReader(archive);

            try
            {
                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();

                    Trace(line);

                    if (line.Length < 311)
                    {
                        Trace("Registro Rejeitado");
                        continue;
                    }
                    else
                    {
                        Trace("Registro Aceito");
                    }

                    int pos = 0;

                    string cpf_resp       = line.Substring(pos, 11); pos += 11;
                    string nome_resp      = line.Substring(pos, 50); pos += 50;
                    string nome_aluno     = line.Substring(pos, 50); pos += 50;
                    string end            = line.Substring(pos, 40); pos += 40;
                    string bairro         = line.Substring(pos, 20); pos += 20;
                    string cep            = line.Substring(pos, 8); pos += 8;
                    string cidade         = line.Substring(pos, 20); pos += 20;
                    string tel            = line.Substring(pos, 10); pos += 10;
                    string email_resp     = line.Substring(pos, 50); pos += 50;
                    string dt_nasc_aluno  = line.Substring(pos, 8); pos += 8;
                    string sexo           = line.Substring(pos, 1); pos += 1;
                    string grau           = line.Substring(pos, 1); pos += 1;
                    string serie_semestre = line.Substring(pos, 2); pos += 2;
                    string turma          = line.Substring(pos, 10); pos += 10;
                    string curso          = line.Substring(pos, 30); pos += 30;

                    if (cpf_resp.Trim().Length < 4)
                    {
                        Trace("CPF inválido");
                        continue;
                    }

                    if (nome_resp.Trim().Length == 0)
                    {
                        Trace("Nome Resp. inválido");
                        continue;
                    }

                    if (nome_aluno.Trim().Length == 0)
                    {
                        Trace("Nome Resp. inválido");
                        continue;
                    }

                    string senha = cpf_resp.Substring(0, 4);

                    bool createProt = false;

                    T_Proprietario prot = new T_Proprietario(this);

                    if (!prot.select_rows_cpf(cpf_resp))
                    {
                        createProt = true;
                    }
                    else
                    {
                        prot.fetch();
                    }

                    prot.set_st_nome(nome_resp);
                    prot.set_st_cpf(cpf_resp);
                    prot.set_st_endereco(end);
                    prot.set_st_bairro(bairro);
                    prot.set_st_cep(cep);
                    prot.set_st_cidade(cidade);
                    prot.set_st_ddd(tel.Substring(0, 2));
                    prot.set_st_telefone(tel.Substring(2, tel.Length - 2));
                    prot.set_st_email(email_resp);

                    if (createProt)
                    {
                        prot.set_st_senhaEdu(var_util.DESCript(senha.PadLeft(8, '*'), "12345678"));

                        prot.create_T_Proprietario();
                    }
                    else
                    {
                        prot.synchronize_T_Proprietario();
                    }

                    T_InfoAdicionais info = new T_InfoAdicionais(this);
                    T_Cartao         cart = new T_Cartao(this);

                    if (!createProt)
                    {
                        cart.select_rows_edu_nome_prop(nome_aluno, prot.get_identity(), TipoCartao.educacional);
                        cart.fetch();

                        info.selectIdentity(cart.get_fk_infoAdicionais());
                    }

                    int year  = Convert.ToInt32(dt_nasc_aluno.Substring(4, 4));
                    int month = Convert.ToInt32(dt_nasc_aluno.Substring(2, 2));
                    int day   = Convert.ToInt32(dt_nasc_aluno.Substring(0, 2));

                    dt_nasc_aluno = GetDataBaseTime(new DateTime(year, month, day));

                    info.set_dt_edu_nasc(dt_nasc_aluno);
                    info.set_st_edu_sexo(sexo);
                    info.set_st_edu_grau(grau);
                    info.set_st_edu_serie_semestre(serie_semestre);
                    info.set_st_edu_turma(turma);
                    info.set_st_edu_curso(curso);
                    info.set_dt_edu_atualizacao(dt_atual);

                    if (!createProt)
                    {
                        info.synchronize_T_InfoAdicionais();
                    }
                    else
                    {
                        info.create_T_InfoAdicionais();

                        cart.Reset();

                        T_Cartao cart_mat = new T_Cartao(this);

                        if (!cart_mat.select_rows_empresa("003522"))
                        {
                            cart.set_st_matricula("000001");
                        }
                        else
                        {
                            cart.set_st_matricula((cart_mat.GetMax(TB_T_CARTAO.st_matricula) + 1).ToString().PadLeft(6, '0'));
                        }

                        cart.set_fk_dadosProprietario(prot.get_identity());
                        cart.set_fk_infoAdicionais(info.get_identity());
                        cart.set_st_empresa("003522");
                        cart.set_st_titularidade("01");
                        cart.set_st_senha(Context.EMPTY);
                        cart.set_st_aluno(nome_aluno);
                        cart.set_tg_tipoCartao(TipoCartao.educacional);
                        cart.set_tg_status(CartaoStatus.Habilitado);
                        cart.set_dt_inclusao(GetDataBaseTime());
                        cart.set_tg_emitido(StatusExpedicao.NaoExpedido);
                        cart.set_vr_edu_disp_virtual(1000000);

                        cart.create_T_Cartao();

                        LINK_ProprietarioCartao prop_cart = new LINK_ProprietarioCartao(this);

                        prop_cart.set_fk_cartao(cart.get_identity());
                        prop_cart.set_fk_proprietario(prot.get_identity());

                        prop_cart.create_LINK_ProprietarioCartao();
                    }
                }
            }
            catch (System.Exception ex)
            {
                Registry(ex.ToString());
                reader.Close();

                return(false);
            }

            reader.Close();

            /// USER [ execute ] END

            Registry("execute done load_edu ");

            return(true);
        }
Exemplo n.º 8
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_processaArqConvenio ");

            /// USER [ execute ]

            DataPortable csv_AllArchive = MemoryGet(input_st_id);

            ApplicationUtil var_util = new ApplicationUtil();

            string st_ids = csv_AllArchive.getValue("ids");

            Trace(st_ids);

            int total_records = var_util.indexCSV(st_ids);

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("");
                return(false);
            }

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

            T_Cartao                cart     = new T_Cartao(this);
            T_Cartao                cart_mat = new T_Cartao(this);
            T_Proprietario          prot     = new T_Proprietario(this);
            T_InfoAdicionais        info     = new T_InfoAdicionais(this);
            T_Dependente            dep      = new T_Dependente(this);
            LINK_ProprietarioCartao lpc      = new LINK_ProprietarioCartao(this);

            int linha = 0;

            for (int t = 0; t < total_records; ++t)
            {
                linha++;

                DataPortable port_line = MemoryGet(var_util.getCSV(t));

                string line = port_line.getValue("line");

                Trace(line);

                int pos = 0;

                try
                {
                    string st_mat     = line.Substring(pos, 6).Trim();    pos += 6;
                    string cpf        = line.Substring(pos, 11).Trim();   pos += 11;
                    string tit        = line.Substring(pos, 2).Trim();   pos += 2;
                    string nome       = line.Substring(pos, 50).Trim();   pos += 50;
                    string end        = line.Substring(pos, 40).Trim();   pos += 40;
                    string bairro     = line.Substring(pos, 20).Trim();   pos += 20;
                    string cep        = line.Substring(pos, 8).Trim();   pos += 8;
                    string cidade     = line.Substring(pos, 20).Trim();   pos += 20;
                    string tel        = line.Substring(pos, 10).Trim();   pos += 10;
                    string email      = line.Substring(pos, 50).Trim();   pos += 50;
                    string dt_nasc    = line.Substring(pos, 8).Trim();   pos += 8;
                    string lim_mensal = line.Substring(pos, 12).Trim().TrimStart('0').PadLeft(1, '0');     pos += 12;
                    string lim_total  = line.Substring(pos, 12).Trim().TrimStart('0').PadLeft(1, '0');     pos += 12;

                    if (lim_total == "0")
                    {
                        lim_total = lim_mensal;
                    }

                    st_mat = st_mat.PadLeft(6, '0');

                    bool found = false;

                    if (cart_mat.select_rows_empresa_matricula(input_st_empresa, st_mat))
                    {
                        PublishNote("Matricula " + st_mat + " já cadastrada. Registro descartado");
                        continue;
                    }

                    if (Convert.ToInt32(tit) == 1)                          // titular
                    {
                        if (prot.select_rows_cpf(cpf))
                        {
                            if (prot.fetch())
                            {
                                if (cart.select_rows_prop(prot.get_identity()))
                                {
                                    while (cart.fetch())
                                    {
                                        if (cart.get_st_empresa() == input_st_empresa)
                                        {
                                            if (cart.get_st_titularidade() == "01")
                                            {
                                                found = true;
                                                break;
                                            }
                                        }
                                    }

                                    if (found)
                                    {
                                        continue;                                         // descarta pois cartão já foi criado
                                    }
                                }
                            }

                            // não precisa criar dadosproprietario, só o cartão desta empresa
                            found = true;
                        }

                        if (!found)
                        {
                            // cria dados proprietario

                            prot.Reset();

                            prot.set_st_nome(nome);
                            prot.set_st_cpf(cpf);
                            prot.set_st_endereco(end);
                            prot.set_st_bairro(bairro);
                            prot.set_st_cidade(cidade);
                            prot.set_st_telefone(tel);
                            prot.set_st_email(email);

                            if (dt_nasc == "00000000")
                            {
                                dt_nasc = GetDataBaseTime();
                            }
                            else
                            {
                                int year  = Convert.ToInt32(dt_nasc.Substring(4, 4));
                                int month = Convert.ToInt32(dt_nasc.Substring(2, 2));
                                int day   = Convert.ToInt32(dt_nasc.Substring(0, 2));

                                dt_nasc = GetDataBaseTime(new DateTime(year, month, day));
                            }

                            prot.set_dt_nasc(dt_nasc);

                            prot.create_T_Proprietario();
                        }

                        info.Reset();

                        info.set_st_empresa(input_st_empresa);
                        info.set_st_matricula(st_mat);

                        info.create_T_InfoAdicionais();

                        cart.Reset();

                        cart.set_st_empresa(input_st_empresa);
                        cart.set_st_matricula(st_mat);
                        cart.set_st_titularidade(tit.PadLeft(2, '0'));

                        cart.set_tg_emitido(StatusExpedicao.NaoExpedido);

                        cart.set_fk_dadosProprietario(prot.get_identity());
                        cart.set_fk_infoAdicionais(info.get_identity());

                        cart.set_vr_limiteMensal(lim_mensal);
                        cart.set_vr_limiteTotal(lim_total);

                        cart.set_tg_tipoCartao("0");
                        cart.set_st_venctoCartao(DateTime.Now.Month.ToString().PadLeft(2, '0') +
                                                 (DateTime.Now.Year + 5).ToString().Substring(2, 2));

                        cart.set_tg_status("0");
                        cart.set_nu_viaCartao("1");

                        cart.create_T_Cartao();
                    }
                    else                     // dependente
                    {
                        // busca proprietario
                        if (prot.select_rows_cpf(cpf))
                        {
                            if (prot.fetch())
                            {
                                dep.Reset();

                                dep.set_st_nome(nome);
                                dep.set_nu_titularidade(tit);
                                dep.set_fk_proprietario(prot.get_identity());

                                dep.create_T_Dependente();

                                info.Reset();

                                info.set_st_empresa(input_st_empresa);
                                info.set_st_matricula(st_mat);

                                info.create_T_InfoAdicionais();

                                cart.Reset();

                                cart.set_st_empresa(input_st_empresa);
                                cart.set_st_titularidade(tit.PadLeft(2, '0'));
                                cart.set_st_matricula(st_mat);

                                cart.set_tg_emitido(StatusExpedicao.NaoExpedido);

                                cart.set_fk_dadosProprietario(prot.get_identity());
                                cart.set_fk_infoAdicionais(info.get_identity());

                                cart.set_vr_limiteMensal(lim_mensal);
                                cart.set_vr_limiteTotal(lim_total);

                                cart.set_tg_tipoCartao("0");
                                cart.set_st_venctoCartao(DateTime.Now.Month.ToString().PadLeft(2, '0') +
                                                         (DateTime.Now.Year + 5).ToString().Substring(2, 2));

                                cart.set_tg_status("0");
                                cart.set_nu_viaCartao("1");

                                cart.create_T_Cartao();
                            }
                        }
                    }
                }
                catch (System.Exception ex)
                {
                    ex.ToString();

                    PublishError("Arquivo com registro inválido na linha " + linha);
                    return(false);
                }
            }

            /// USER [ execute ] END

            Registry("execute done exec_processaArqConvenio ");

            return(true);
        }
Exemplo n.º 9
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute schedule_fech_mensal ");

            /// USER [ execute ]

            T_Parcelas parc = new T_Parcelas(this);

            string mes = DateTime.Now.Month.ToString().PadLeft(2, '0');
            string ano = DateTime.Now.Year.ToString();

            T_Cartao cart     = new T_Cartao(this);
            T_Cartao cart_upd = new T_Cartao(this);

            if (parc.select_rows_emp_fechamento(emp.get_identity(), "0"))                  // numero parcela > 0
            {
                T_Parcelas       tmp  = new T_Parcelas(this);
                LOG_Transacoes   ltr  = new LOG_Transacoes(this);
                T_InfoAdicionais info = new T_InfoAdicionais(this);

                while (parc.fetch())
                {
                    if (!tmp.selectIdentity(parc.get_identity()))
                    {
                        continue;
                    }

                    if (!cart.selectIdentity(parc.get_fk_cartao()))
                    {
                        continue;
                    }

                    if (!ltr.selectIdentity(parc.get_fk_log_transacoes()))
                    {
                        continue;
                    }

                    if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                    {
                        continue;
                    }

                    if (st_empresaAfiliada != "")
                    {
                        if (!info.selectIdentity(cart.get_fk_infoAdicionais()))
                        {
                            continue;
                        }

                        if (info.get_st_empresaAfiliada().ToUpper().Trim() != st_empresaAfiliada.ToUpper().Trim())
                        {
                            continue;
                        }
                    }

                    if (parc.get_int_nu_parcela() == 1)
                    {
                        LOG_Fechamento log_fech = new LOG_Fechamento(this);

                        log_fech.set_st_mes(mes);
                        log_fech.set_st_ano(ano);
                        log_fech.set_vr_valor(parc.get_vr_valor());
                        log_fech.set_dt_fechamento(GetDataBaseTime());
                        log_fech.set_fk_empresa(parc.get_fk_empresa());
                        log_fech.set_fk_loja(parc.get_fk_loja());
                        log_fech.set_fk_cartao(parc.get_fk_cartao());
                        log_fech.set_fk_parcela(parc.get_identity());
                        log_fech.set_dt_compra(parc.get_dt_inclusao());
                        log_fech.set_nu_parcela(parc.get_nu_parcela());

                        log_fech.set_st_afiliada(st_empresaAfiliada);

                        log_fech.set_st_cartao(cart.get_st_empresa() +
                                               cart.get_st_matricula() +
                                               cart.get_st_titularidade());

                        if (!log_fech.create_LOG_Fechamento())
                        {
                            return(false);
                        }
                    }

                    // decrementa parcela
                    tmp.set_nu_parcela(tmp.get_int_nu_parcela() - 1);

                    tmp.set_tg_pago(Context.TRUE);

                    if (!tmp.synchronize_T_Parcelas())
                    {
                        return(false);
                    }
                }
            }

            //zera cota extra de todo mundo

            if (cart.select_rows_empresa(emp.get_st_empresa()))
            {
                while (cart.fetch())
                {
                    cart_upd.ExclusiveAccess();

                    cart_upd.selectIdentity(cart.get_identity());
                    cart_upd.set_vr_extraCota("0");

                    cart_upd.synchronize_T_Cartao();
                    cart_upd.ReleaseExclusive();
                }
            }


            /// USER [ execute ] END

            Registry("execute done schedule_fech_mensal ");

            return(true);
        }