Esempio n. 1
0
        public override bool execute( )
        {
            Registry("execute web_fetch_edu_virtual ");

            /// USER [ execute ]

            input_st_cartao = input_st_cartao.PadLeft(14, '0');
            input_dt_mov    = input_dt_mov.Substring(0, 11) + "00:00:00";

            T_Cartao cart = new T_Cartao(this);

            if (!cart.select_rows_tudo(input_st_cartao.Substring(0, 6),
                                       input_st_cartao.Substring(6, 6),
                                       input_st_cartao.Substring(12, 2)))
            {
                PublishError("Cartão inválido");
                return(false);
            }

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

            if (cart.get_st_senha() != input_st_senha)
            {
                PublishError("Senha aluno inválida");
                return(false);
            }

            output_cont_dce.set_st_aluno(cart.get_st_aluno());
            output_cont_dce.set_vr_diario(cart.get_vr_edu_diario());
            output_cont_dce.set_vr_disp(cart.get_vr_disp_educacional());
            output_cont_dce.set_vr_depot(cart.get_vr_educacional());
            output_cont_dce.set_vr_disp_virtual(cart.get_vr_edu_disp_virtual());
            output_cont_dce.set_nu_vrRank(cart.get_nu_rankVirtual());

            long invest_virtual = 0;

            LINK_Edu_FundoEmpresa     lnk      = new LINK_Edu_FundoEmpresa(this);
            T_Edu_EmpresaVirtual      emp      = new T_Edu_EmpresaVirtual(this);
            LOG_Edu_RendimentoEmpresa log_rend = new LOG_Edu_RendimentoEmpresa(this);

            T_Edu_AplicacaoVirtual app = new T_Edu_AplicacaoVirtual(this);

            if (lnk.select_fk_cart(cart.get_identity()))
            {
                while (lnk.fetch())
                {
                    DadosMovEmpresaVirtual dMovAtual = new DadosMovEmpresaVirtual();

                    if (!emp.selectIdentity(lnk.get_fk_empresa()))
                    {
                        return(false);
                    }

                    dMovAtual.set_st_nome(emp.get_st_nome());
                    dMovAtual.set_vr_acoes(lnk.get_vr_fundo());
                    dMovAtual.set_vr_dia(emp.get_vr_valorAcao());

                    invest_virtual += lnk.get_int_vr_fundo() * emp.get_int_vr_valorAcao();

                    if (log_rend.select_rows_date(GetDataBaseTime(), emp.get_identity()))
                    {
                        if (!log_rend.fetch())
                        {
                            return(false);
                        }

                        if (log_rend.get_tg_neg() == Context.TRUE)
                        {
                            dMovAtual.set_vr_osc("-" + log_rend.get_vr_pct());
                        }
                        else
                        {
                            dMovAtual.set_vr_osc(log_rend.get_vr_pct());
                        }
                    }

                    //  busca preço médio
                    long preco_medio = 0;

                    if (app.select_rows_cart_emp(cart.get_identity(), emp.get_identity()))
                    {
                        while (app.fetch())
                        {
                            preco_medio += app.get_int_vr_preco_fundo();
                        }

                        preco_medio = preco_medio / app.RowCount();

                        app.Reset();
                    }

                    dMovAtual.set_vr_preco_medio(preco_medio.ToString());

                    output_array_generic_lstEmp.Add(dMovAtual);
                }
            }

            if (lnk.select_fk_cart(cart.get_identity()))
            {
                while (lnk.fetch())
                {
                    if (!emp.selectIdentity(lnk.get_fk_empresa()))
                    {
                        return(false);
                    }

                    long aplic = 0;

                    if (app.select_rows_date(input_dt_mov, cart.get_identity()))
                    {
                        while (app.fetch())
                        {
                            if (app.get_fk_empresaVirtual() != lnk.get_fk_empresa())
                            {
                                continue;
                            }

                            DadosMovEmpresaVirtual dMov = new DadosMovEmpresaVirtual();

                            dMov.set_st_nome(emp.get_st_nome());

                            if (app.get_tg_neg() == Context.TRUE)
                            {
                                dMov.set_vr_mov_fundo("-" + app.get_vr_aplicado());
                                aplic -= app.get_int_vr_aplicado();

                                dMov.set_vr_total((Convert.ToInt64(app.get_vr_fundo_hora()) -
                                                   Convert.ToInt64(app.get_vr_aplicado())).ToString());
                            }
                            else
                            {
                                dMov.set_vr_mov_fundo(app.get_vr_aplicado());
                                aplic += app.get_int_vr_aplicado();

                                dMov.set_vr_total((Convert.ToInt64(app.get_vr_fundo_hora()) +
                                                   Convert.ToInt64(app.get_vr_aplicado())).ToString());
                            }

                            output_array_generic_lst.Add(dMov);
                        }
                    }
                }
            }

            output_cont_dce.set_vr_invest_virtual(invest_virtual.ToString());

            /// USER [ execute ] END

            Registry("execute done web_fetch_edu_virtual ");

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

            /// USER [ execute ]

            StringBuilder sb = new StringBuilder();

            LOG_Edu_RendimentoEmpresa rend_emp = new LOG_Edu_RendimentoEmpresa(this);
            T_Edu_EmpresaVirtual      emp      = new T_Edu_EmpresaVirtual(this);

            if (!emp.select_rows_codigo(input_st_codigo))
            {
                PublishError("Código inválido");
                return(false);
            }

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

            for (int t = 0; t < 31; ++t)
            {
                DateTime tim = DateTime.Now.AddDays(-t);

                string dt_dia = tim.Year.ToString() + "-" +
                                tim.Month.ToString().PadLeft(2, '0') + "-" +
                                tim.Day.ToString().PadLeft(2, '0') + " 00:00:00";

                if (rend_emp.select_rows_date(dt_dia, emp.get_identity()))
                {
                    if (!rend_emp.fetch())
                    {
                        return(false);
                    }

                    DadosMovEmpresaVirtual mov = new DadosMovEmpresaVirtual();

                    if (rend_emp.get_tg_neg() == Context.TRUE)
                    {
                        mov.set_vr_osc("-" + rend_emp.get_vr_pct());
                    }
                    else
                    {
                        mov.set_vr_osc(rend_emp.get_vr_pct());
                    }

                    mov.set_dt_dia(dt_dia);
                    mov.set_st_nome(emp.get_st_nome());

                    DataPortable mem = mov as DataPortable;

                    string index = MemorySave(ref mem);

                    sb.Append(index);
                    sb.Append(",");
                }
            }

            output_st_csv = sb.ToString().TrimEnd(',');

            /// USER [ execute ] END

            Registry("execute done web_fetch_edu_emp_hist ");

            return(true);
        }