示例#1
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute ins_quiosque ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            T_Quiosque q = new T_Quiosque(this);

            if (q.select_fk_empresa(emp.get_identity()))
            {
                while (q.fetch())
                {
                    if (q.get_st_nome() == input_st_desc)
                    {
                        PublishError("Quiosque inválido");
                        return(false);
                    }
                }
            }

            q.set_st_nome(input_st_desc);
            q.set_fk_empresa(emp.get_identity());

            if (!q.create_T_Quiosque())
            {
                return(false);
            }

            PublishNote("Quiosque " + input_st_desc + " criado com sucesso");

            /// USER [ execute ] END

            Registry("execute done ins_quiosque ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_alteraAdminEmpresa ");

            /// USER [ execute ]

            // ## efetua ação

            if (input_tg_remover == Context.TRUE)
            {
                emp_dest.set_fk_admin(Context.NONE);
            }
            else
            {
                emp_dest.set_fk_admin(emp_admin.get_identity());
            }

            // ## atualiza tabela

            if (!emp_dest.synchronize_T_Empresa())
            {
                return(false);
            }

            /// USER [ execute ] END

            Registry("execute done exec_alteraAdminEmpresa ");

            return(true);
        }
示例#3
0
        public override bool authenticate( )
        {
            if (base.authenticate() == false)
            {
                return(false);
            }

            Registry("authenticate ins_agenda ");

            /// USER [ authenticate ]

            emp = new T_Empresa(this);
            l_a = new LINK_Agenda(this);

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

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Código inválido de empresa");
                return(false);
            }

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

            if (input_en_atividade != TipoAtividade.FechMensal)
            {
                PublishError("Código inválido de atividade");
                return(false);
            }
            else
            {
                if (input_en_tipo_schedule != Scheduler.Monthly)
                {
                    PublishError("Esta atividade permite somente agendamento mensal");
                    return(false);
                }
            }

            if (l_a.select_rows_emp_ativ(emp.get_identity(), input_en_atividade))
            {
                while (l_a.fetch())
                {
                    if (l_a.get_st_emp_afiliada().ToUpper().Trim() == input_st_afiliada.ToUpper().Trim())
                    {
                        PublishError("Atividade previamente agendada");
                        return(false);
                    }
                }
            }

            /// USER [ authenticate ] END

            Registry("authenticate done ins_agenda ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_convenioLojaGift ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_cont_header.get_st_empresa()))
            {
                return(false);
            }

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

            T_Loja loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_st_loja))
            {
                return(false);
            }

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

            LINK_LojaEmpresa le = new LINK_LojaEmpresa(this);

            if (!le.select_fk_empresa_loja(emp.get_identity(), loj.get_identity()))
            {
                return(false);
            }

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

            output_st_ag    = le.get_st_ag();
            output_st_banco = le.get_st_banco();
            output_st_conta = le.get_st_conta();

            /// USER [ execute ] END

            Registry("execute done fetch_convenioLojaGift ");

            return(true);
        }
示例#5
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_nomeLoja ");

            /// USER [ execute ]

            LINK_LojaEmpresa lojEmp = new LINK_LojaEmpresa(this);

            if (!lojEmp.select_fk_empresa_geral(emp.get_identity()))
            {
                PublishError("Nenhuma loja conveniada à empresa");
                return(false);
            }

            T_Loja loj = new T_Loja(this);

            // ## Busca registros de relacionamento

            while (lojEmp.fetch())
            {
                if (!loj.selectIdentity(lojEmp.get_fk_loja()))
                {
                    return(false);
                }

                // ## Se nome de loja bate

                if (loj.get_st_nome().Contains(input_st_nomeLoja))
                {
                    // ## Copia dados para memória

                    DadosLoja dl = new DadosLoja();

                    dl.set_st_nome(loj.get_st_nome());
                    dl.set_st_loja(loj.get_st_loja());

                    output_array_generic_lst.Add(dl);
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_nomeLoja ");

            return(true);
        }
示例#6
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_listaEmpresas ");

            /// USER [ execute ]

            T_Empresa m_emp = new T_Empresa(this);

            for (int t = 0; t < var_util.indexCSV(input_st_csv_empresas); ++t)
            {
                if (!m_emp.fetch_rows_empresa(var_util.getCSV(t)))
                {
                    return(false);
                }

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

                LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

                loj_emp.fetch_fk_empresa_geral(m_emp.get_identity());

                DadosEmpresa de = new DadosEmpresa();

                de.set_nu_CNPJ(m_emp.get_nu_CNPJ());
                de.set_st_empresa(m_emp.get_st_empresa());
                de.set_st_fantasia(m_emp.get_st_fantasia());
                de.set_st_cidade(m_emp.get_st_cidade());
                de.set_st_estado(m_emp.get_st_estado());
                de.set_nu_cartoes(m_emp.get_nu_cartoes());
                de.set_nu_parcelas(m_emp.get_nu_parcelas());
                de.set_vr_taxa(m_emp.get_vr_taxa());
                de.set_nu_lojas(loj_emp.RowCount().ToString());

                output_array_generic_lst.Add(de);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_listaEmpresas ");

            return(true);
        }
示例#7
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute del_quiosque ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            T_Quiosque q = new T_Quiosque(this);

            if (!q.select_fk_empresa(emp.get_identity()))
            {
                PublishError("Nenhum quiosque encontrado");
                return(false);
            }

            while (q.fetch())
            {
                if (q.get_st_nome() == input_st_desc)
                {
                    q.delete();
                    break;
                }
            }

            PublishNote("Quiosque " + input_st_desc + " removido com sucesso");

            /// USER [ execute ] END

            Registry("execute done del_quiosque ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_listaFiliais ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_cont_header.get_st_empresa()))
            {
                PublishError("Nenhuma empresa com o código '" + input_cont_header.get_st_empresa() + "'");
                return(false);
            }

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

            if (!emp.select_fk_admin(emp.get_identity()))
            {
                PublishError("Nenhuma empresa afiliada encontrada!");
                return(false);
            }

            while (emp.fetch())
            {
                // ## Copia dados de empresas com nome

                DadosEmpresa de = new DadosEmpresa();

                de.set_st_fantasia(emp.get_st_fantasia());
                de.set_st_empresa(emp.get_st_empresa());

                output_array_generic_lst.Add(de);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_listaFiliais ");

            return(true);
        }
示例#9
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_change_edu_msg ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(user.get_st_empresa()))
            {
                return(false);
            }

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

            T_MensagemEdu msg = new T_MensagemEdu(this);

            if (!msg.selectIdentity(input_cont_dem.get_id_mem()))
            {
                return(false);
            }

            msg.set_fk_empresa(emp.get_identity());
            msg.set_st_mens(input_cont_dem.get_st_msg());
            msg.set_dt_ini(input_cont_dem.get_dt_start());
            msg.set_dt_fim(input_cont_dem.get_dt_end());

            if (!msg.synchronize_T_MensagemEdu())
            {
                return(false);
            }

            PublishNote("Mensagem gravada com sucesso");

            /// USER [ execute ] END

            Registry("execute done exec_change_edu_msg ");

            return(true);
        }
示例#10
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_quiosque ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            T_Quiosque q = new T_Quiosque(this);

            if (!q.select_fk_empresa(emp.get_identity()))
            {
                PublishError("Nenhum quiosque encontrado");
                return(false);
            }

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

                dq.set_st_nome(q.get_st_nome());

                output_array_generic_lstQ.Add(dq);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_quiosque ");

            return(true);
        }
示例#11
0
        public override bool authenticate( )
        {
            if (base.authenticate() == false)
            {
                return(false);
            }

            Registry("authenticate fetch_rel_3_fech ");

            /// USER [ authenticate ]

            input_st_mes         = input_st_mes.PadLeft(2, '0');
            input_st_cod_empresa = input_st_cod_empresa.PadLeft(6, '0');

            // ## Busca empresa envolvida

            emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_cod_empresa))
            {
                PublishError("Empresa inválida");
                return(false);
            }

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

            output_st_empresa = emp.get_st_fantasia();

            log_fech = new LOG_Fechamento(this);

            // ## Busca fechamento por período

            if (!log_fech.select_rows_mes_ano(input_st_mes, input_st_ano, emp.get_identity()))
            {
                PublishError("Nenhum registro encontrado");
                return(false);
            }

            /// USER [ authenticate ] END

            Registry("authenticate done fetch_rel_3_fech ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_empresasAfiliadas ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            output_st_nome_emp = emp.get_st_fantasia();

            T_EmpresaAfiliada emp_aff = new T_EmpresaAfiliada(this);

            if (emp_aff.select_fk_empresa(emp.get_identity()))
            {
                while (emp_aff.fetch())
                {
                    DadosEmpresa de = new DadosEmpresa();

                    de.set_st_empresa(emp_aff.get_st_nome());

                    output_array_generic_lst.Add(de);
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_empresasAfiliadas ");

            return(true);
        }
示例#13
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_extraGift ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_cont_header.get_st_empresa()))
            {
                return(false);
            }

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

            T_ExtraGift gift = new T_ExtraGift(this);

            if (gift.select_fk_emp(emp.get_identity()))
            {
                while (gift.fetch())
                {
                    DadosProdutoGift dpg = new DadosProdutoGift();

                    dpg.set_id_produto(gift.get_identity());
                    dpg.set_st_nome(gift.get_st_nome());
                    dpg.set_vr_valor(gift.get_vr_valor());

                    output_array_generic_lst.Add(dpg);
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_extraGift ");

            return(true);
        }
示例#14
0
        public override bool finish( )
        {
            if (base.finish() == false)
            {
                return(false);
            }

            Registry("finish ins_empresa ");

            /// USER [ finish ]

            if (!IsFail)
            {
                LOG_Audit aud = new LOG_Audit(this);

                aud.set_tg_operacao(TipoOperacao.CadEmpresa);

                aud.set_fk_usuario(input_cont_header.get_st_user_id());
                aud.set_dt_operacao(GetDataBaseTime());

                aud.set_st_observacao(emp.get_nu_CNPJ());

                aud.set_fk_generic(emp.get_identity());

                if (!aud.create_LOG_Audit())
                {
                    return(false);
                }
            }

            /// USER [ finish ] END

            Registry("finish done ins_empresa ");

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

            return(true);
        }
示例#15
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_prevLojista ");

            /// 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);
            }

            T_Loja loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_cont_header.get_st_empresa().TrimStart('0')))
            {
                return(false);
            }

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

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            if (!loj_emp.select_fk_empresa_loja(emp.get_identity(),
                                                loj.get_identity()))
            {
                PublishError("Loja não conveniada com empresa");
                return(false);
            }

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

            double tx = loj_emp.get_int_tx_admin();

            T_Parcelas     parc = new T_Parcelas(this);
            T_Cartao       cart = new T_Cartao(this);
            LOG_Transacoes ltr  = new LOG_Transacoes(this);

            if (parc.select_rows_lojista_emp(loj.get_identity(),
                                             emp.get_identity(),
                                             "1"))
            {
                SQL_LOGGING_ENABLE = false;

                StringBuilder sb = new StringBuilder();

                while (parc.fetch())
                {
                    if (parc.get_tg_pago() == Context.TRUE)
                    {
                        continue;
                    }

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

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

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

                    if (cart.get_st_empresa() != emp.get_st_empresa())
                    {
                        continue;
                    }

                    DadosRepasse dr = new DadosRepasse();

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

                    dr.set_st_nsu(parc.get_nu_nsu());
                    dr.set_dt_trans(parc.get_dt_inclusao());
                    dr.set_id_parcela(parc.get_nu_indice());
                    dr.set_vr_total(parc.get_vr_valor());

                    //DateTime t_rep = Convert.ToDateTime ( p

                    //dr.set_dt_repasse   (

                    long repasse = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000));

                    dr.set_vr_repasse(repasse.ToString());

                    DataPortable mem_rtc = dr 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);

                SQL_LOGGING_ENABLE = true;
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_prevLojista ");

            return(true);
        }
示例#16
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_1_rtc ");

            /// USER [ execute ]

            // ##
            // ## O seguinte trecho indexa as lojas possíveis
            // ## de retorno para uma determinada empresa.
            // ##
            // ## E, no caso de a empresa original ser administradora
            // ## de empresas, indexar todas as lojas de todas empresas
            // ## desta rede.
            // ##

            Hashtable hshLojas = new Hashtable();

            #region - filtro de lojas da empresa -

            if (user.get_tg_nivel() == TipoUsuario.Administrador)
            {
                T_Empresa emp_orig = new T_Empresa(this);

                // ## Busca empresa original

                if (!emp_orig.select_rows_empresa(user.get_st_empresa()))
                {
                    return(false);
                }

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

                LINK_LojaEmpresa lnk = new LINK_LojaEmpresa(this);

                // ## busca relacionamento das empresas com lojas

                if (lnk.select_fk_empresa_geral(emp_orig.get_identity()))
                {
                    while (lnk.fetch())
                    {
                        // ## indexa lojas

                        hshLojas [lnk.get_fk_loja()] = "*";
                    }
                }

                // ## busca empresas administradas

                T_Empresa emp_lnk_admin = new T_Empresa(this);

                if (emp_lnk_admin.select_fk_admin(emp_orig.get_identity()))
                {
                    while (emp_lnk_admin.fetch())
                    {
                        // ## busca lojas de cada empresa administrada

                        LINK_LojaEmpresa lnk_admin = new LINK_LojaEmpresa(this);

                        if (lnk_admin.select_fk_empresa_geral(emp_lnk_admin.get_identity()))
                        {
                            while (lnk_admin.fetch())
                            {
                                // ## indexa loja

                                hshLojas [lnk_admin.get_fk_loja()] = "*";
                            }
                        }
                    }
                }
            }

            #endregion

            StringBuilder sb = new StringBuilder();

            long vr_tot           = 0;
            long vr_tot_cancelado = 0;

            T_Terminal term = new T_Terminal(this);

            while (l_tr.fetch())
            {
                // ## Filtra lojas não vinculadas à empresa

                if (hshLojas.Count > 0)
                {
                    if (hshLojas [l_tr.get_fk_loja()] == null)
                    {
                        continue;
                    }
                }

                // ## Busca terminal

                if (term.selectIdentity(l_tr.get_fk_terminal()))
                {
                    if (fk_loja.Length > 0)
                    {
                        if (term.get_fk_loja() != fk_loja)
                        {
                            continue;
                        }
                    }

                    if (!loj.selectIdentity(term.get_fk_loja()))
                    {
                        continue;
                    }

                    if (input_st_cidade.Length > 0)
                    {
                        if (!loj.get_st_cidade().Contains(input_st_cidade))
                        {
                            continue;
                        }
                    }

                    if (input_st_estado.Length > 0)
                    {
                        if (!loj.get_st_estado().Contains(input_st_estado))
                        {
                            continue;
                        }
                    }

                    if (l_tr.get_tg_contabil() == Context.TRUE)
                    {
                        if (l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada)
                        {
                            vr_tot_cancelado += l_tr.get_int_vr_total();
                        }
                        else
                        if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                        {
                            vr_tot += l_tr.get_int_vr_total();
                        }
                    }
                }

                // ## Copia dados para memória

                Rel_RTC rtc = new Rel_RTC();

                rtc.set_st_loja(loj.get_st_nome());
                rtc.set_st_term(term.get_nu_terminal());
                rtc.set_st_nsu(l_tr.get_nu_nsu());
                rtc.set_vr_total(l_tr.get_vr_total());
                rtc.set_nu_parc(l_tr.get_nu_parcelas());
                rtc.set_dt_trans(l_tr.get_dt_transacao());
                rtc.set_tg_status(l_tr.get_tg_confirmada());
                rtc.set_st_motivo(l_tr.get_st_msg_transacao());
                rtc.set_en_op_cartao(l_tr.get_en_operacao());

                DataPortable mem_rtc = rtc as DataPortable;

                // ## obtem indice

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

                if (l_tr.get_int_nu_parcelas() > 1)
                {
                    T_Parcelas parc = new T_Parcelas(this);

                    if (parc.select_fk_log_trans(l_tr.get_identity()))
                    {
                        while (parc.fetch())
                        {
                            Rel_RTC rtc2 = new Rel_RTC();

                            rtc2.set_vr_total(parc.get_vr_valor());
                            rtc2.set_nu_parc(parc.get_nu_indice());
                            rtc2.set_dt_trans(l_tr.get_dt_transacao());
                            rtc2.set_tg_status(l_tr.get_tg_confirmada());
                            rtc2.set_st_motivo(l_tr.get_st_msg_transacao());
                            rtc2.set_en_op_cartao(l_tr.get_en_operacao());

                            DataPortable mem_rtc_parc = rtc2 as DataPortable;

                            // ## obtem indice

                            sb.Append(MemorySave(ref mem_rtc_parc));
                            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);

            // ## obtem dados adicionais

            T_Cartao cart = new T_Cartao(this);

            if (!cart.selectIdentity(st_cart_id))
            {
                return(false);
            }

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(cart.get_st_empresa()))
            {
                return(false);
            }

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

            string nome = "";

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

                dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade());
                dep.fetch();

                nome = dep.get_st_nome() + " (Dependente)";
            }
            else
            {
                T_Proprietario prot = new T_Proprietario(this);

                prot.selectIdentity(cart.get_fk_dadosProprietario());

                nome = prot.get_st_nome() + " - CPF " + prot.get_st_cpf();
            }

            output_st_empresa = emp.get_st_fantasia();

            output_st_cartao = cart.get_st_empresa() + "." +
                               cart.get_st_matricula() + "." +
                               cart.get_st_titularidade() + ":" +
                               cart.get_nu_viaCartao() + " - " +
                               nome;

            output_st_total_periodo   = vr_tot.ToString();
            output_st_total_cancelado = vr_tot_cancelado.ToString();



            // ##### ------------------------------------------------------
            // ##### Relatório extra sobre todas as parcelas do cartão
            // ##### ------------------------------------------------------
            {
                T_Cartao cart_parc     = new T_Cartao(this);
                T_Cartao cart_parc_dep = new T_Cartao(this);

                ArrayList lstDeps = new ArrayList();

                if (cart_parc.selectIdentity(st_cart_id))
                {
                    if (cart_parc.get_tg_tipoCartao() == TipoCartao.presente)
                    {
                        return(true);
                    }

                    if (cart_parc_dep.select_rows_empresa_matricula(cart_parc.get_st_empresa(),
                                                                    cart_parc.get_st_matricula()))
                    {
                        while (cart_parc_dep.fetch())
                        {
                            lstDeps.Add(cart_parc_dep.get_identity());
                        }
                    }
                }

                StringBuilder sb_parcs = new StringBuilder();

                T_Parcelas parc = new T_Parcelas(this);

                for (int u = 1; u <= 12; ++u)
                {
                    string cur_pac = "Comprometimento mensal (" + u.ToString() + ")";

                    if (u == 1)
                    {
                        cur_pac += " - vigente";
                    }

                    bool HasContent   = false;
                    long tot_parc_ind = 0;

                    if (parc.select_rows_relat_parc(u.ToString(), ref lstDeps))
                    {
                        while (parc.fetch())
                        {
                            if (!term.selectIdentity(parc.get_fk_terminal()))
                            {
                                continue;
                            }

                            if (!loj.selectIdentity(term.get_fk_loja()))
                            {
                                continue;
                            }

                            if (l_tr.selectIdentity(parc.get_fk_log_transacoes()))
                            {
                                if (l_tr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                                {
                                    continue;
                                }
                            }

                            tot_parc_ind += parc.get_int_vr_valor();

                            HasContent = true;

                            Rel_RTC rtc = new Rel_RTC();

                            rtc.set_st_loja(loj.get_st_nome());
                            rtc.set_st_term(term.get_nu_terminal());
                            rtc.set_st_nsu(l_tr.get_nu_nsu());
                            rtc.set_vr_total(parc.get_vr_valor());
                            rtc.set_nu_parc(u.ToString());
                            rtc.set_dt_trans(l_tr.get_dt_transacao());
                            rtc.set_tg_status(l_tr.get_tg_confirmada());
                            rtc.set_st_motivo(l_tr.get_st_msg_transacao());
                            rtc.set_en_op_cartao(l_tr.get_en_operacao());

                            rtc.set_st_indice_parcela(parc.get_nu_indice());

                            DataPortable mem_rtc = rtc as DataPortable;

                            // ## obtem indice

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

                    if (!HasContent)
                    {
                        break;
                    }

                    output_st_parcs       += cur_pac + ",";
                    output_st_parcs_total += tot_parc_ind.ToString() + "," +
                                             (cart_parc.get_int_vr_limiteMensal() - tot_parc_ind).ToString() + ",";
                }

                string list_ids_parc = sb_parcs.ToString().TrimEnd(',');

                DataPortable dp_parcs = new DataPortable();

                dp_parcs.setValue("ids", list_ids_parc);

                output_st_parcs_content = MemorySave(ref dp_parcs);
                output_st_parcs         = output_st_parcs.TrimEnd(',');
                output_st_parcs_total   = output_st_parcs_total.TrimEnd(',');
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_1_rtc ");

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

            /// USER [ execute ]

            #region - atualizar senhas -

            cart.ExclusiveAccess();

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

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

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

                if (!dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade()))
                {
                    output_st_msg = "Erro aplicativo";
                    return(false);
                }

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

                var_nomeCliente = dep.get_st_nome();
            }
            else
            {
                var_nomeCliente = prot.get_st_nome();
            }

            if (IsDigitado)
            {
                string cod_acesso = new ApplicationUtil().calculaCodigoAcesso(cart.get_st_empresa(),
                                                                              cart.get_st_matricula(),
                                                                              cart.get_st_titularidade(),
                                                                              cart.get_nu_viaCartao(),
                                                                              prot.get_st_cpf());

                Trace(cod_acesso);

                if (cod_acesso != input_cont_pe.get_st_senha())
                {
                    output_st_msg = "Senha inválida";
                    var_codResp   = "4343";
                    return(false);
                }
            }
            else
            {
                if (cart.get_st_senha() != input_cont_pe.get_st_senha())
                {
                    long senhasErradas = cart.get_int_nu_senhaErrada() + 1;

                    cart.set_nu_senhaErrada(senhasErradas.ToString());

                    if (senhasErradas > 4)
                    {
                        cart.set_tg_status(CartaoStatus.Bloqueado);
                        cart.set_tg_motivoBloqueio(MotivoBloqueio.SENHA_ERRADA);
                        cart.set_dt_bloqueio(GetDataBaseTime());
                    }

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

                    output_st_msg = "Senha inválida";
                    var_codResp   = "4343";
                    return(false);
                }
                else
                {
                    cart.set_nu_senhaErrada(Context.NONE);
                }
            }

            if (cart.get_tg_tipoCartao() == TipoCartao.presente)
            {
                cart.set_vr_limiteTotal(cart.get_int_vr_limiteTotal() - vr_valor);

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

            cart.ReleaseExclusive();

            #endregion

            #region - busca informações extras -

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

            #endregion

            #region - Faz efetivamente a venda -

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

            string tmp_variavel = input_cont_pe.get_st_valores();

            if (tmp_variavel.Length < tmp_nu_parc * 12)
            {
                output_st_msg = "formato incorreto";
                return(false);
            }

            if (cart.get_tg_tipoCartao() != TipoCartao.presente)
            {
                if (tmp_nu_parc > emp.get_int_nu_parcelas())
                {
                    output_st_msg = "excede max. parcelas";
                    var_codResp   = "1212";
                    return(false);
                }
            }

            #region - obtem nsu -

            l_nsu.set_dt_log(GetDataBaseTime());

            if (!l_nsu.create_LOG_NSU())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            #endregion

            var_nu_nsuAtual    = l_nsu.get_identity();
            var_nu_nsuEntidade = var_nu_nsuAtual;

            var_dt_transacao = GetDataBaseTime();

            // ## Criar parcelas

            for (int t = 1; t <= tmp_nu_parc; ++t)
            {
                T_Parcelas parc = new T_Parcelas(this);

                string valor_unit_parc = tmp_variavel.Substring(index_pos, 12);

                index_pos += 12;

                #region - atribui valores e links à parcela -

                parc.set_nu_nsu(l_nsu.get_identity());
                parc.set_fk_empresa(emp.get_identity());
                parc.set_fk_cartao(cart.get_identity());
                parc.set_dt_inclusao(var_dt_transacao);
                parc.set_nu_parcela(t.ToString());
                parc.set_vr_valor(valor_unit_parc);
                parc.set_nu_indice(t.ToString());
                parc.set_tg_pago(TipoParcela.EM_ABERTO);
                parc.set_fk_loja(loj.get_identity());
                parc.set_nu_tot_parcelas(tmp_nu_parc.ToString());
                parc.set_fk_terminal(term.get_identity());

                #endregion

                if (!parc.create_T_Parcelas())
                {
                    output_st_msg = "erro aplicativo";
                    return(false);
                }

                lstParcs.Add(parc.get_identity());
            }

            #endregion

            var_codResp = "0000";

            /// USER [ execute ] END

            Registry("execute done exec_pos_vendaEmpresarialSITEF ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_edu_movRedeEscola ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_cont_header.get_st_empresa()))
            {
                PublishError("Nenhuma empresa com o código fornecido");
                return(false);
            }

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

            output_st_empresa = emp.get_st_fantasia();

            T_Empresa emp_escola = new T_Empresa(this);

            if (!emp_escola.select_fk_admin(emp.get_identity()))
            {
                PublishError("Nenhum colégio cadastrado");
                return(false);
            }

            ArrayList lstEscolas = new ArrayList();

            while (emp_escola.fetch())
            {
                lstEscolas.Add(emp_escola.get_identity());
            }

            ArrayList lstResults = new ArrayList();

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            // busca todas escolas cadastradas
            for (int t = 0; t < lstEscolas.Count; ++t)
            {
                emp_escola.selectIdentity(lstEscolas[t].ToString());

                if (ltr.select_rows_emp_dt(emp_escola.get_identity(),
                                           input_st_dt_ini,
                                           input_st_dt_fim,
                                           TipoConfirmacao.Confirmada))
                {
                    Hashtable hshLojaValor = new Hashtable();
                    ArrayList lstLoja      = new ArrayList();

                    // busca todas as transações das lojas e seu somatorio
                    while (ltr.fetch())
                    {
                        string fk_loja = ltr.get_fk_loja();

                        if (!lstLoja.Contains(fk_loja))
                        {
                            hshLojaValor [fk_loja] = Convert.ToInt64(0);
                            lstLoja.Add(fk_loja);
                        }

                        // acrescenta mais um valor na loja
                        hshLojaValor [fk_loja] = Convert.ToInt64(hshLojaValor [fk_loja]) +
                                                 ltr.get_int_vr_total();
                    }


                    for (int h = 0; h < lstLoja.Count; ++h)
                    {
                        string fk_loja    = lstLoja[h].ToString();
                        string tot_amount = Convert.ToInt64(hshLojaValor [fk_loja]).ToString();

                        lstResults.Add(tot_amount.PadLeft(12, '0') +
                                       emp_escola.get_identity().PadLeft(12, '0') +
                                       fk_loja.PadLeft(12, '0'));
                    }
                }
            }

            // ordena
            lstResults.Sort();

            T_Loja loj = new T_Loja(this);

            StringBuilder sb = new StringBuilder();

            for (int t = 0; t < lstResults.Count; ++t)
            {
                string numbers = lstResults[t].ToString();

                string valor  = numbers.Substring(0, 12).TrimStart('0');
                string escola = numbers.Substring(12, 12).TrimStart('0');
                string loja   = numbers.Substring(24, 12).TrimStart('0');

                if (!emp_escola.selectIdentity(escola))
                {
                    continue;
                }

                if (!loj.selectIdentity(loja))
                {
                    continue;
                }

                Rel_MovRedeEscola rme = new Rel_MovRedeEscola();

                rme.set_st_loja(loj.get_st_nome() + " - " + loj.get_st_social());
                rme.set_vr_valor(valor);
                rme.set_st_colegio(emp_escola.get_st_fantasia());

                DataPortable mem_rme = rme as DataPortable;

                // # Guarda registro

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_rel_edu_movRedeEscola ");

            return(true);
        }
示例#19
0
        public override bool finish( )
        {
            if (base.finish() == false)
            {
                return(false);
            }

            Registry("finish exec_depotEduImediato ");

            /// USER [ finish ]

            // ## Se falhou o authenticate (senha) não faz nada

            if (IsFail)
            {
                return(true);
            }

            // ## Busca empresa conveniada

            T_Empresa emp = new T_Empresa(this);

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

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

            if (Convert.ToInt64(input_vr_valor) > 0)
            {
                // ## Atualiza valor atual do FUNDO EDUCACIONAL

                cart.set_vr_educacional((cart.get_int_vr_educacional()
                                         + Convert.ToInt64(input_vr_valor)).ToString());

                #region - obtem nsu -

                LOG_NSU l_nsu = new LOG_NSU(this);

                l_nsu.set_dt_log(GetDataBaseTime());

                if (!l_nsu.create_LOG_NSU())
                {
                    return(false);
                }

                #endregion

                string var_nu_nsuAtual = l_nsu.get_identity();

                // ## Cria transação representando este depósito

                LOG_Transacoes l_tr = new LOG_Transacoes(this);

                l_tr.set_fk_terminal("0");
                l_tr.set_fk_empresa(emp.get_identity());
                l_tr.set_fk_cartao(cart.get_identity());

                l_tr.set_vr_total((Convert.ToInt64(input_vr_valor)).ToString());

                l_tr.set_nu_parcelas("1");
                l_tr.set_nu_nsu(var_nu_nsuAtual);
                l_tr.set_dt_transacao(GetDataBaseTime());
                l_tr.set_nu_cod_erro("0");
                l_tr.set_tg_confirmada(TipoConfirmacao.Confirmada);
                l_tr.set_nu_nsuOrig("0");
                l_tr.set_en_operacao(OperacaoCartao.EDU_DEP_FUNDO);
                l_tr.set_st_msg_transacao("");
                l_tr.set_tg_contabil(Context.TRUE);
                l_tr.set_fk_loja("0");

                l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
                l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());

                if (!l_tr.create_LOG_Transacoes())
                {
                    return(false);
                }
            }

            if (Convert.ToInt64(input_st_valor_imediato) > 0)
            {
                // ## Atualiza valor atual do DISPONIVEL IMEDIATO

                cart.set_vr_disp_educacional((cart.get_int_vr_disp_educacional() +
                                              Convert.ToInt64(input_st_valor_imediato)).ToString());

                #region - obtem nsu -

                LOG_NSU l_nsu = new LOG_NSU(this);

                l_nsu.set_dt_log(GetDataBaseTime());

                if (!l_nsu.create_LOG_NSU())
                {
                    return(false);
                }

                #endregion

                string var_nu_nsuAtual = l_nsu.get_identity();

                // ## Cria transação representando este depósito

                LOG_Transacoes l_tr = new LOG_Transacoes(this);

                l_tr.set_fk_terminal("0");
                l_tr.set_fk_empresa(emp.get_identity());
                l_tr.set_fk_cartao(cart.get_identity());

                l_tr.set_vr_total((Convert.ToInt64(input_st_valor_imediato)).ToString());

                l_tr.set_nu_parcelas("1");
                l_tr.set_nu_nsu(var_nu_nsuAtual);
                l_tr.set_dt_transacao(GetDataBaseTime());
                l_tr.set_nu_cod_erro("0");
                l_tr.set_tg_confirmada(TipoConfirmacao.Confirmada);
                l_tr.set_nu_nsuOrig("0");
                l_tr.set_en_operacao(OperacaoCartao.EDU_DEP_IMEDIATO);
                l_tr.set_st_msg_transacao("");
                l_tr.set_tg_contabil(Context.TRUE);
                l_tr.set_fk_loja("0");
                l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
                l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());

                if (!l_tr.create_LOG_Transacoes())
                {
                    return(false);
                }
            }

            // ## Atualiza tabela

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

            PublishNote("Carga efetuada com sucesso");

            /// USER [ finish ] END

            Registry("finish done exec_depotEduImediato ");

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

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_vendedorQuiosque ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            T_Quiosque q = new T_Quiosque(this);

            if (!q.select_fk_empresa(emp.get_identity()))
            {
                PublishError("Nenhum quiosque encontrado");
                return(false);
            }

            bool Found = false;

            while (q.fetch())
            {
                if (q.get_st_nome() == input_st_desc)
                {
                    Found = true;
                    break;
                }
            }

            if (!Found)
            {
                PublishError("Nenhum quiosque encontrado");
                return(false);
            }

            T_Usuario usrVend = new T_Usuario(this);

            if (usrVend.select_fk_quiosque(q.get_identity()))
            {
                while (usrVend.fetch())
                {
                    //	if ( usrVend.get_tg_nivel() == TipoUsuario.VendedorGift )
                    {
                        if (usrVend.get_tg_bloqueio() != Context.TRUE)
                        {
                            DadosUsuario du = new DadosUsuario();

                            du.set_st_nome(usrVend.get_st_nome());
                            du.set_id_usuario(usrVend.get_identity());

                            output_array_generic_lstVinc.Add(du);
                        }
                    }
                }
            }

            if (usrVend.select_rows_empresa(input_st_empresa.PadLeft(6, '0')))
            {
                while (usrVend.fetch())
                {
                    //	if ( usrVend.get_tg_nivel() == TipoUsuario.VendedorGift )
                    {
                        if (usrVend.get_fk_quiosque() != q.get_identity())
                        {
                            if (usrVend.get_tg_bloqueio() != Context.TRUE)
                            {
                                DadosUsuario du = new DadosUsuario();

                                du.set_st_nome(usrVend.get_st_nome());
                                du.set_id_usuario(usrVend.get_identity());


                                output_array_generic_lstOutros.Add(du);
                            }
                        }
                    }
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_vendedorQuiosque ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_listaLojas ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            output_nome_emp = emp.get_st_fantasia();

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            if (!loj_emp.select_fk_empresa_geral(emp.get_identity()))
            {
                PublishError("Nenhuma loja cadastrada");
                return(false);
            }

            T_Loja     loj  = new T_Loja(this);
            T_Terminal term = new T_Terminal(this);

            StringBuilder sb = new StringBuilder();

            while (loj_emp.fetch())
            {
                if (!loj.selectIdentity(loj_emp.get_fk_loja()))
                {
                    continue;
                }

                if (!term.select_fk_loja(loj.get_identity()))
                {
                    continue;
                }

                DataPortable port = new DataPortable();

                port.setValue("cod", loj.get_st_loja());
                port.setValue("nome", loj.get_st_nome() + " - " + loj.get_st_social());
                port.setValue("tel", loj.get_nu_telefone());
                port.setValue("cid", loj.get_st_cidade());
                port.setValue("est", loj.get_st_estado());
                port.setValue("term", term.RowCount().ToString());
                port.setValue("cnpj", loj.get_nu_CNPJ());
                port.setValue("drep", loj_emp.get_nu_dias_repasse());
                port.setValue("prep", loj_emp.get_tx_admin().PadLeft(4, '0').Insert(2, ",") + " %");

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## obtem indice geral

            output_id = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_rel_listaLojas ");

            return(true);
        }
示例#22
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_dirCont ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            output_st_nome_empresa = emp.get_st_fantasia();

            StringBuilder sb_content = new StringBuilder();

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Quant. Cartões Cancelados");

                T_Cartao cart = new T_Cartao(this);

                cart.SetCountMode();

                cart.select_rows_canc(input_cont_header.get_st_empresa(),
                                      input_dt_ini,
                                      input_dt_fim,
                                      MotivoBloqueio.CANCELAMENTO,
                                      TipoCartao.presente,
                                      CartaoStatus.Bloqueado);

                dcg.set_nu_valor(cart.GetCount().ToString());

                Trace(dcg.get_st_item());
                Trace(dcg.get_nu_valor());

                DataPortable port = dcg;

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

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Quant. Recargas");

                LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

                lvc.SetCountMode();

                lvc.select_rows_cargas(input_dt_ini,
                                       input_dt_fim,
                                       emp.get_identity(),
                                       Context.FALSE);

                dcg.set_nu_valor(lvc.GetCount().ToString());

                Trace(dcg.get_st_item());
                Trace(dcg.get_nu_valor());

                DataPortable port = dcg;

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

            long vendidos = 0;

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Quant. Cartões Vendidos");

                LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

                lvc.SetCountMode();

                lvc.select_rows_cargas(input_dt_ini,
                                       input_dt_fim,
                                       emp.get_identity(),
                                       Context.TRUE);


                vendidos = lvc.GetCount();

                dcg.set_nu_valor(vendidos.ToString());

                Trace(dcg.get_st_item());
                Trace(dcg.get_nu_valor());

                DataPortable port = dcg;

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

            long disp = 0;

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Saldo Anterior");

                T_Cartao cart = new T_Cartao(this);

                cart.SetCountMode();

                cart.select_rows_gift_disp(Context.NONE, TipoCartao.presente);

                disp = cart.GetCount();

                long anterior = vendidos + cart.GetCount();

                dcg.set_nu_valor(anterior.ToString());

                DataPortable port = dcg;

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

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Saldo Atual");
                dcg.set_nu_valor(disp.ToString());

                DataPortable port = dcg;

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

            long novo_cartao_carga = 0;
            long cartao_recarga    = 0;

            long tarifa_novo_cartao_carga = 0;
            long tarifa_cartao_recarga    = 0;

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Movimento do dia");
                dcg.set_nu_valor("0");

                LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

                T_ExtraGift eGift = new T_ExtraGift(this);

                eGift.selectAll();
                eGift.fetch();

                long vr_valor  = 0;
                long tx_adesao = eGift.get_int_vr_valor();

                eGift.fetch();

                long tx_recarga = eGift.get_int_vr_valor();

                // novo cartão
                lvc.select_rows_cargas(input_dt_ini,
                                       input_dt_fim,
                                       emp.get_identity(),
                                       Context.TRUE);

                long qtd_novo_cartao_carga = lvc.RowCount();

                while (lvc.fetch())
                {
                    novo_cartao_carga += lvc.get_int_vr_carga();
                }

                tarifa_novo_cartao_carga = qtd_novo_cartao_carga * tx_adesao;

                vr_valor += novo_cartao_carga + tarifa_novo_cartao_carga;

                lvc.Reset();

                // recargas
                if (lvc.select_rows_cargas(input_dt_ini,
                                           input_dt_fim,
                                           emp.get_identity(),
                                           Context.FALSE))
                {
                    long qtd_cartao_recarga = lvc.RowCount();

                    while (lvc.fetch())
                    {
                        cartao_recarga += lvc.get_int_vr_carga();
                    }

                    tarifa_cartao_recarga = qtd_cartao_recarga * tx_recarga;

                    vr_valor += cartao_recarga + tarifa_cartao_recarga;
                }

                dcg.set_nu_valor("R$ " + new money().formatToMoney(vr_valor.ToString()));

                DataPortable port = dcg;

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

            output_cont_dsc.set_vr_tot_carga((cartao_recarga + novo_cartao_carga).ToString());
            output_cont_dsc.set_vr_tot_tarifa((tarifa_cartao_recarga + tarifa_novo_cartao_carga).ToString());

            long tot_compras = 0;
            long tot_taxa    = 0;
            long tot_repasse = 0;

            {
                T_Parcelas       parc    = new T_Parcelas(this);
                LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

                // busca parcelas da empresa no dia
                if (parc.select_rows_empresa_gift(emp.get_identity(), input_dt_ini, input_dt_fim))
                {
                    while (parc.fetch())
                    {
                        // busca convenio
                        if (!loj_emp.select_fk_empresa_loja(emp.get_identity(), parc.get_fk_loja()))
                        {
                            return(false);
                        }

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

                        double tx = loj_emp.get_int_tx_admin();

                        long taxa = Convert.ToInt64(parc.get_int_vr_valor() * tx / 10000);

                        tot_compras += parc.get_int_vr_valor();
                        tot_taxa    += taxa;
                        tot_repasse += Convert.ToInt64(parc.get_int_vr_valor() - taxa);
                    }
                }
            }

            output_cont_dsc.set_vr_tot_compras(tot_compras.ToString());
            output_cont_dsc.set_vr_tot_tx(tot_taxa.ToString());
            output_cont_dsc.set_vr_tot_repasse(tot_repasse.ToString());

            // 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_dirCont ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_dadosDespesas ");

            /// USER [ execute ]

            string fk = "";

            if (input_tg_empresa == Context.TRUE)
            {
                T_Empresa emp = new T_Empresa(this);

                if (!emp.select_rows_empresa(input_st_codigo.PadLeft(6, '0')))
                {
                    PublishError("Código de empresa inválido");
                    return(false);
                }

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

                fk             = emp.get_identity();
                output_st_nome = emp.get_st_fantasia();
            }
            else
            {
                T_Loja loj = new T_Loja(this);

                if (!loj.select_rows_loja(input_st_codigo))
                {
                    PublishError("Código de loja inválido");
                    return(false);
                }

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

                fk             = loj.get_identity();
                output_st_nome = loj.get_st_nome();
            }

            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

            if (input_tg_empresa == Context.TRUE)
            {
                if (!fat_det.select_rows_emp(fk, TipoFat.Extras))
                {
                    PublishError("Nenhuma despesa encontrada");
                    return(false);
                }
            }
            else
            {
                if (!fat_det.select_rows_loja(fk, TipoFat.Extras))
                {
                    PublishError("Nenhuma despesa encontrada");
                    return(false);
                }
            }

            T_Faturamento fat = new T_Faturamento(this);

            while (fat_det.fetch())
            {
                if (fat.selectIdentity(fat_det.get_fk_fatura()))
                {
                    if (fat.get_tg_situacao() != TipoSitFat.Pendente)
                    {
                        continue;
                    }
                }

                DadosDespesas dd = new DadosDespesas();

                dd.set_fk_faturadet(fat_det.get_identity());
                dd.set_st_info(fat_det.get_st_extras());

                if (fat_det.get_tg_desconto() == Context.TRUE)
                {
                    dd.set_vr_cobrança("-" + fat_det.get_vr_cobranca());
                }
                else
                {
                    dd.set_vr_cobrança(fat_det.get_vr_cobranca());
                }

                output_array_generic_list.Add(dd);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_dadosDespesas ");

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

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            // ## Busca empresa

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Empresa inválida");
                return(false);
            }

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

            // ## Obtem chave da empresa principal

            string fk_admin = emp.get_identity();

            // ## Busca todas as empresas

            if (!emp.selectAll())
            {
                PublishError("Nenhuma empresa cadastrada");
                return(false);
            }

            // ## Dois grupos, um das empresas vinculadas
            // ## e outro de não vinculadas

            StringBuilder sb_in  = new StringBuilder();
            StringBuilder sb_out = new StringBuilder();

            // ## Busca registros

            while (emp.fetch())
            {
                // ## Empresa admin deve ser filtrada

                if (emp.get_identity() == fk_admin)
                {
                    continue;
                }

                // ## Copia para memória

                DadosEmpresa de = new DadosEmpresa();

                de.set_st_fantasia(emp.get_st_fantasia());
                de.set_st_empresa(emp.get_st_empresa());

                DataPortable port = de as DataPortable;

                // ## Caso link para admin bater com admin
                // ## esta empresa é vinculada

                if (emp.get_fk_admin() == fk_admin)
                {
                    // ## obtem indexador

                    sb_in.Append(MemorySave(ref port));
                    sb_in.Append(",");
                }
                else
                {
                    // ## obtem indexador

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

            // in
            {
                string list_ids = sb_in.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## obtem indexador de grupo

                output_st_in_csv = MemorySave(ref dp);
            }

            // out
            {
                string list_ids = sb_out.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## obtem indexador de grupo

                output_st_out_csv = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_dadosAdministradora ");

            return(true);
        }
示例#26
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute ins_cartaoGift ");

            /// USER [ execute ]

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

            T_Empresa emp = new T_Empresa(this);

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

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

            T_Cartao cart = new T_Cartao(this);

            if (input_tg_tipoPag != TipoPagamento.Cheque)
            {
                cart.ExclusiveAccess();
            }

            if (!cart.select_rows_empresa_matricula(input_st_empresa,
                                                    input_st_matricula))
            {
                return(false);
            }

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

            LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

            lvc.set_fk_vendedor(user.get_identity());
            lvc.set_fk_empresa(emp.get_identity());
            lvc.set_fk_cartao(cart.get_identity());
            lvc.set_tg_tipoPag(input_tg_tipoPag);
            lvc.set_dt_compra(GetDataBaseTime());
            lvc.set_tg_tipoCartao(input_tg_tipoCartao);

            if (input_tg_tipoPag == TipoPagamento.Cheque)
            {
                lvc.set_st_cheque(input_st_cheque);

                T_ChequesGift chq_gift = new T_ChequesGift(this);

                chq_gift.set_st_identificador(input_st_cheque);
                chq_gift.set_fk_cartao(cart.get_identity());
                chq_gift.set_dt_efetiva(GetDataBaseTime());
                chq_gift.set_tg_compensado(Context.FALSE);

                if (!chq_gift.create_T_ChequesGift())
                {
                    return(false);
                }
            }
            else
            {
                if (input_tg_tipoPag == TipoPagamento.Cartao)
                {
                    lvc.set_nu_nsuCartao(input_st_cheque);
                }

                cart.set_vr_limiteTotal(cart.get_int_vr_limiteTotal() +
                                        Convert.ToInt64(input_vr_carga));

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

                cart.ReleaseExclusive();
            }

            lvc.set_vr_carga(input_vr_carga);
            lvc.set_tg_adesao(Context.TRUE);

            if (!lvc.create_LOG_VendaCartaoGift())
            {
                return(false);
            }

            output_id_giftCard = lvc.get_identity();

            LOG_VendaProdutoGift lvpg = new LOG_VendaProdutoGift(this);

            for (int t = 0; t < input_array_generic_prod.Count; ++t)
            {
                DadosProdutoGift dpg = new DadosProdutoGift(input_array_generic_prod[t] as DataPortable);

                lvpg.set_fk_vendaCartao(lvc.get_identity());
                lvpg.set_st_produto(dpg.get_st_nome());
                lvpg.set_vr_valor(dpg.get_vr_valor());

                if (!lvpg.create_LOG_VendaProdutoGift())
                {
                    return(false);
                }
            }

            /// USER [ execute ] END

            Registry("execute done ins_cartaoGift ");

            return(true);
        }
示例#27
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute schedule_faturamento ");

            /// USER [ execute ]

            T_Empresa emp   = new T_Empresa(this);
            DateTime  dtFat = DateTime.Now.AddDays(-1);

            #region - ## Busca todas as empresas -

            if (emp.selectAll())
            {
                // ## Busco todos os registros

                while (emp.fetch())
                {
                    // ## Se dia é hoje

                    if (emp.get_int_nu_periodoFat() == dtFat.Day &&
                        emp.get_tg_isentoFat() == Context.FALSE)
                    {
                        T_Faturamento fat     = new T_Faturamento(this);
                        T_Faturamento fat_upd = new T_Faturamento(this);

                        DateTime aux = dtFat;

                        // ## Para casos onde o mês deve ser o próximo

                        if (emp.get_int_nu_diaVenc() < dtFat.Day)
                        {
                            aux = dtFat.AddMonths(1);
                        }

                        DateTime dtVenc = new DateTime(aux.Year,
                                                       aux.Month,
                                                       (int)emp.get_int_nu_diaVenc());

                        fat.set_dt_vencimento(GetDataBaseTime(dtVenc));
                        fat.set_fk_empresa(emp.get_identity());
                        fat.set_tg_situacao(TipoSitFat.Pendente);

                        // ## Crio registro

                        fat.create_T_Faturamento();

                        long vr_total_fat = 0;

                        // ## Crio registro detalhe

                        #region - 1 - mensalidade -

                        {
                            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                            fat_det.set_fk_fatura(fat.get_identity());
                            fat_det.set_vr_cobranca(emp.get_vr_mensalidade());
                            fat_det.set_tg_tipoFat(TipoFat.TBM);
                            fat_det.set_tg_desconto(Context.FALSE);
                            fat_det.set_fk_empresa(emp.get_identity());
                            fat_det.set_fk_loja(Context.FALSE);

                            vr_total_fat += fat_det.get_int_vr_cobranca();

                            fat_det.create_T_FaturamentoDetalhes();
                        }

                        #endregion

                        #region - 2 - valor por transações -

                        if (emp.get_int_vr_transacao() > 0)
                        {
                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            l_tr.SetCountMode();

                            l_tr.select_rows_dt_emp(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                    GetDataBaseTime(dtFat),
                                                    emp.get_identity());

                            long trans = l_tr.GetCount() - emp.get_int_nu_franquia();

                            if (trans > 0)
                            {
                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((trans * emp.get_int_vr_transacao()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.FixoTrans);
                                fat_det.set_nu_quantidade(l_tr.GetCount().ToString());
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(emp.get_identity());
                                fat_det.set_fk_loja(Context.FALSE);

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 3 - valor percentual por transações -

                        if (emp.get_int_nu_pctValor() > 0)
                        {
                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            // ## Busca por período e empresa

                            if (l_tr.select_rows_dt_emp(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                        GetDataBaseTime(dtFat),
                                                        emp.get_identity()))
                            {
                                long vr_trans = 0;

                                while (l_tr.fetch())
                                {
                                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                                    {
                                        vr_trans += l_tr.get_int_vr_total();
                                    }
                                }

                                if (vr_trans > 0)
                                {
                                    vr_trans = vr_trans * emp.get_int_nu_pctValor() / 10000;

                                    T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                    fat_det.set_fk_fatura(fat.get_identity());
                                    fat_det.set_vr_cobranca(vr_trans.ToString());
                                    fat_det.set_tg_tipoFat(TipoFat.Percent);
                                    fat_det.set_tg_desconto(Context.FALSE);
                                    fat_det.set_fk_empresa(emp.get_identity());
                                    fat_det.set_fk_loja(Context.FALSE);

                                    vr_total_fat += fat_det.get_int_vr_cobranca();

                                    fat_det.create_T_FaturamentoDetalhes();
                                }
                            }
                        }

                        #endregion

                        #region - 4 - valor cartão ativo -

                        if (emp.get_int_vr_cartaoAtivo() > 0)
                        {
                            T_Cartao cart = new T_Cartao(this);

                            // ## Busca por período e empresa

                            if (cart.select_rows_empresa(emp.get_st_empresa()))
                            {
                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((cart.RowCount() * emp.get_int_vr_cartaoAtivo()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.CartaoAtiv);
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(emp.get_identity());
                                fat_det.set_fk_loja(Context.FALSE);

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 5 - valores extras -

                        T_FaturamentoDetalhes fat_extras = new T_FaturamentoDetalhes(this);

                        if (fat_extras.select_rows_emp(emp.get_identity(), TipoFat.Extras))
                        {
                            while (fat_extras.fetch())
                            {
                                vr_total_fat += fat_extras.get_int_vr_cobranca();

                                T_FaturamentoDetalhes fat_extras_upd = new T_FaturamentoDetalhes(this);

                                fat_extras_upd.ExclusiveAccess();

                                fat_extras_upd.selectIdentity(fat_extras.get_identity());
                                fat_extras_upd.set_fk_fatura(fat.get_identity());

                                fat_extras_upd.synchronize_T_FaturamentoDetalhes();
                                fat_extras_upd.ReleaseExclusive();
                            }
                        }

                        #endregion

                        if (emp.get_int_vr_minimo() > vr_total_fat)
                        {
                            vr_total_fat = emp.get_int_vr_minimo();
                        }

                        fat_upd.ExclusiveAccess();
                        fat_upd.selectIdentity(fat.get_identity());

                        fat_upd.set_vr_cobranca(vr_total_fat.ToString());

                        fat_upd.synchronize_T_Faturamento();
                        fat_upd.ReleaseExclusive();
                    }
                }
            }

            #endregion

            T_Loja loj = new T_Loja(this);

            // ## Busca todas as lojas

            if (loj.selectAll())
            {
                // ## Busco todos os registros

                while (loj.fetch())
                {
                    // ## Se dia é hoje

                    Trace("Loja: " + loj.get_st_nome());

                    if (loj.get_tg_cancel() == Context.TRUE)
                    {
                        continue;
                    }

                    Trace("Loja ok ");

                    if (loj.get_int_nu_periodoFat() == dtFat.Day &&
                        loj.get_tg_isentoFat() == Context.FALSE)
                    {
                        Trace("[A]");

                        T_Faturamento fat     = new T_Faturamento(this);
                        T_Faturamento fat_upd = new T_Faturamento(this);

                        DateTime aux = dtFat;

                        // ## Para casos onde o mês deve ser o próximo

                        if (loj.get_int_nu_diavenc() < dtFat.Day)
                        {
                            Trace("[B]");
                            aux = dtFat.AddMonths(1);
                        }

                        Trace("[C]");

                        int zday = Convert.ToInt32(loj.get_int_nu_diavenc());

                        Trace("[C] 1 " + aux.Year.ToString());
                        Trace("[C] 2 " + aux.Month.ToString());
                        Trace("[C] 3 " + zday.ToString());

                        DateTime dtVenc = new DateTime(aux.Year, aux.Month, zday);

                        Trace("[D]");

                        fat.set_dt_vencimento(GetDataBaseTime(dtVenc));
                        fat.set_fk_loja(loj.get_identity());
                        fat.set_tg_situacao(TipoSitFat.Pendente);

                        // ## Crio registro

                        fat.create_T_Faturamento();

                        long vr_total_fat = 0;

                        // ## Crio registro detalhe

                        #region - 1 - mensalidade -

                        {
                            Trace("[E]");

                            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                            fat_det.set_fk_fatura(fat.get_identity());
                            fat_det.set_vr_cobranca(loj.get_vr_mensalidade());
                            fat_det.set_tg_tipoFat(TipoFat.TBM);
                            fat_det.set_tg_desconto(Context.FALSE);
                            fat_det.set_fk_empresa(Context.FALSE);
                            fat_det.set_fk_loja(loj.get_identity());

                            vr_total_fat += fat_det.get_int_vr_cobranca();

                            fat_det.create_T_FaturamentoDetalhes();
                        }

                        #endregion

                        #region - 2 - valor por transações -

                        if (loj.get_int_vr_transacao() > 0)
                        {
                            Trace("[F]");

                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            l_tr.SetCountMode();

                            l_tr.select_rows_dt_loj(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                    GetDataBaseTime(dtFat),
                                                    loj.get_identity());

                            long trans = l_tr.GetCount() - loj.get_int_nu_franquia();

                            if (trans > 0)
                            {
                                Trace("[G]");

                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((trans * loj.get_int_vr_transacao()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.FixoTrans);
                                fat_det.set_nu_quantidade(l_tr.GetCount().ToString());
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(Context.FALSE);
                                fat_det.set_fk_loja(loj.get_identity());

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 3 - valor percentual por transações -

                        if (loj.get_int_nu_pctValor() > 0)
                        {
                            Trace("[H]");

                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            // ## Busca por período e empresa

                            if (l_tr.select_rows_dt_loj(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                        GetDataBaseTime(dtFat),
                                                        loj.get_identity()))
                            {
                                Trace("[I]");

                                long vr_trans = 0;

                                while (l_tr.fetch())
                                {
                                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                                    {
                                        vr_trans += l_tr.get_int_vr_total();
                                    }
                                }

                                if (vr_trans > 0)
                                {
                                    Trace("[J]");

                                    vr_trans = vr_trans * loj.get_int_nu_pctValor() / 10000;

                                    T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                    fat_det.set_fk_fatura(fat.get_identity());
                                    fat_det.set_vr_cobranca(vr_trans.ToString());
                                    fat_det.set_tg_tipoFat(TipoFat.Percent);
                                    fat_det.set_tg_desconto(Context.FALSE);
                                    fat_det.set_fk_empresa(Context.FALSE);
                                    fat_det.set_fk_loja(loj.get_identity());

                                    vr_total_fat += fat_det.get_int_vr_cobranca();

                                    fat_det.create_T_FaturamentoDetalhes();
                                }
                            }
                        }

                        #endregion

                        #region - 4 - valores extras -

                        T_FaturamentoDetalhes fat_extras = new T_FaturamentoDetalhes(this);

                        if (fat_extras.select_rows_emp(loj.get_identity(), TipoFat.Extras))
                        {
                            Trace("[K]");

                            while (fat_extras.fetch())
                            {
                                Trace("[L]");

                                vr_total_fat += fat_extras.get_int_vr_cobranca();

                                T_FaturamentoDetalhes fat_extras_upd = new T_FaturamentoDetalhes(this);

                                fat_extras_upd.ExclusiveAccess();

                                fat_extras_upd.selectIdentity(fat_extras.get_identity());
                                fat_extras_upd.set_fk_fatura(fat.get_identity());

                                fat_extras_upd.synchronize_T_FaturamentoDetalhes();
                                fat_extras_upd.ReleaseExclusive();
                            }
                        }

                        #endregion

                        if (vr_total_fat < loj.get_int_vr_minimo())
                        {
                            vr_total_fat = loj.get_int_vr_minimo();
                        }

                        fat_upd.ExclusiveAccess();
                        fat_upd.selectIdentity(fat.get_identity());

                        fat_upd.set_vr_cobranca(vr_total_fat.ToString());

                        fat_upd.synchronize_T_Faturamento();
                        fat_upd.ReleaseExclusive();

                        Trace("[M]");
                    }
                }
            }

            /// USER [ execute ] END

            Registry("execute done schedule_faturamento ");

            return(true);
        }
示例#28
0
        public override bool finish( )
        {
            Registry("finish type_pf_base ");

            /// USER [ finish ]

            if (IsFail)
            {
                var_operacaoCartao = var_operacaoCartaoFail;
            }

            if (GravaNSU)
            {
                LOG_Transacoes l_tr = new LOG_Transacoes(this);

                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(var_valorTotal);
                l_tr.set_nu_nsu(var_nsu);
                l_tr.set_en_operacao(var_operacaoCartao);

                l_tr.set_nu_cod_erro(output_st_codResp);

                l_tr.set_nu_parcelas("1");
                l_tr.set_nu_nsuOrig(Context.NOT_SET);

                if (var_operacaoCartao == OperacaoCartao.PAY_FONE_GRAVA_PEND)
                {
                    l_tr.set_tg_confirmada(TipoConfirmacao.Pendente);
                }
                else
                {
                    if (IsFail)
                    {
                        l_tr.set_tg_confirmada(TipoConfirmacao.Erro);
                    }
                    else
                    {
                        l_tr.set_tg_confirmada(TipoConfirmacao.Registro);
                    }
                }

                l_tr.set_dt_transacao(GetDataBaseTime());
                l_tr.set_st_msg_transacao(output_st_msg);
                l_tr.set_tg_contabil(Context.FALSE);

                if (output_st_codResp != "00")
                {
                    l_tr.set_tg_contabil(Context.FALSE);
                }

                l_tr.set_fk_loja(term.get_fk_loja());

                if (cart.get_tg_tipoCartao() == TipoCartao.educacional)
                {
                    l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
                    l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());
                }
                else
                {
                    l_tr.set_vr_saldo_disp(vr_limMes.ToString());
                    l_tr.set_vr_saldo_disp_tot(vr_limTot.ToString());
                }

                if (!l_tr.create_LOG_Transacoes())
                {
                    return(false);
                }
            }

            /// USER [ finish ] END

            Registry("finish done type_pf_base ");

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

            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 execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_consultaEmpresa ");

            /// USER [ execute ]

            StringBuilder sb = new StringBuilder();

            string nome   = input_cont_dce.get_st_nome(),
                   cidade = input_cont_dce.get_st_cidade(),
                   estado = input_cont_dce.get_st_estado();

            long vr_min   = 0,
                 vr_max   = 0,
                 qtd_cart = 0,
                 qtd_parc = 0,
                 nu_lojas = 0,
                 val      = 0;

            // ## Prepara filtros

            if (input_cont_dce.get_nu_cartoes().Length > 0)
            {
                qtd_cart = Convert.ToInt32(input_cont_dce.get_nu_cartoes());
            }
            if (input_cont_dce.get_nu_parcelas().Length > 0)
            {
                qtd_parc = Convert.ToInt32(input_cont_dce.get_nu_parcelas());
            }
            if (input_cont_dce.get_nu_lojas().Length > 0)
            {
                nu_lojas = Convert.ToInt32(input_cont_dce.get_nu_lojas());
            }

            if (input_cont_dce.get_vr_taxa_min().Length > 0)
            {
                vr_min = Convert.ToInt32(input_cont_dce.get_vr_taxa_min());
            }
            if (input_cont_dce.get_vr_taxa_min().Length > 0)
            {
                vr_max = Convert.ToInt32(input_cont_dce.get_vr_taxa_max());
            }

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            // ## Busca todos os registros

            nome = nome.ToUpper();

            while (emp.fetch())
            {
                val = emp.get_int_vr_mensalidade();

                if (vr_min > 0)
                {
                    if (val < vr_min)
                    {
                        continue;
                    }
                }

                if (vr_max > 0)
                {
                    if (val > vr_max)
                    {
                        continue;
                    }
                }

                if (vr_min > 0 && vr_max > 0)
                {
                    if (val < vr_min || val > vr_max)
                    {
                        continue;
                    }
                }

                if (qtd_cart > 0)
                {
                    if (emp.get_int_nu_cartoes() < qtd_cart)
                    {
                        continue;
                    }
                }

                if (qtd_parc > 0)
                {
                    if (emp.get_int_nu_parcelas() < qtd_parc)
                    {
                        continue;
                    }
                }

                if (nome.Length > 0)
                {
                    if (!emp.get_st_social().ToUpper().Contains(nome))
                    {
                        if (!emp.get_st_fantasia().ToUpper().Contains(nome))
                        {
                            continue;
                        }
                    }
                }

                if (cidade.Length > 0)
                {
                    if (!emp.get_st_cidade().Contains(cidade))
                    {
                        continue;
                    }
                }
                if (estado.Length > 0)
                {
                    if (!emp.get_st_estado().Contains(estado))
                    {
                        continue;
                    }
                }

                // ## Contabiliza numero de lojas

                loj_emp.SetCountMode();
                loj_emp.select_fk_empresa_geral(emp.get_identity());

                if (input_cont_dce.get_nu_lojas().Length > 0)
                {
                    if (loj_emp.GetCount() < nu_lojas)
                    {
                        continue;
                    }
                }

                // ## Copia dados para memória

                DadosEmpresa de = new DadosEmpresa();

                de.set_nu_lojas(loj_emp.GetCount().ToString());

                de.set_st_empresa(emp.get_st_empresa());
                de.set_st_fantasia(emp.get_st_fantasia().Trim() + " - " + emp.get_st_social().Trim());
                de.set_st_cidade(emp.get_st_cidade());
                de.set_st_estado(emp.get_st_estado());
                de.set_nu_cartoes(emp.get_nu_cartoes());
                de.set_nu_parcelas(emp.get_nu_parcelas());
                de.set_vr_mensalidade(emp.get_vr_mensalidade());
                de.set_nu_CNPJ(emp.get_nu_CNPJ());
                de.set_tg_bloq(emp.get_tg_bloq());

                DataPortable tmp = de as DataPortable;

                // ## indexa em CSV

                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 de bloco

            output_st_csv_empresas = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaEmpresa ");

            return(true);
        }