Esempio n. 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        lblMsgParecer.Text = "Marque apenas as reuniões em que o responsável esteve presente.<br>";

        //"Marque a opção Efetivado para indicar que o lançamento de frequência do " +
        //"dia foi finalizado e todas as ausências foram apontadas.";
        lblMsgParecer.Text = UtilBO.GetErroMessage(lblMsgParecer.Text, UtilBO.TipoMensagem.Informacao);
        ScriptManager sm = ScriptManager.GetCurrent(this);

        if (sm != null)
        {
            sm.Scripts.Add(new ScriptReference(ArquivoJS.JqueryFixer));
            RegistrarParametrosMensagemSair(true, (__SessionWEB.__UsuarioWEB.Docente.doc_id > 0));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.ExitPageConfirm));
            sm.Scripts.Add(new ScriptReference("~/Includes/jsSetExitPageConfirmer.js"));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmBtn));

            // A ordem dos 2 scripts abaixo não deve ser alterada - se for, as máscaras
            // dos campos não vai funcionar, pois no primeiro script ele "refaz" as tabelas
            // com o JQuery.Fixer, e por isso não adianta setar as máscaras antes.
            sm.Scripts.Add(new ScriptReference(ArquivoJS.JQueryValidation));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.JqueryMask));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.MascarasCampos));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.CamposData));
            sm.Scripts.Add(new ScriptReference("~/Includes/jsCadastroFrequenciaReuniaoResponsaveis.js"));

            if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.BOTAO_SALVAR_PERMANECE_TELA, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
            {
                if (!Convert.ToString(_btnCancelar.CssClass).Contains("btnMensagemUnload"))
                {
                    _btnCancelar.CssClass += " btnMensagemUnload";
                }

                if (!Convert.ToString(_btnCancelar2.CssClass).Contains("btnMensagemUnload"))
                {
                    _btnCancelar2.CssClass += " btnMensagemUnload";
                }
            }
        }

        HabilitarControlesTela(__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar);

        if (!IsPostBack)
        {
            string message = __SessionWEB.PostMessages;
            if (!string.IsNullOrEmpty(message))
            {
                _lblMessage.Text = message;
            }

            _carregaComboHora();
            _carregaComboMinuto();
            if (Session["tur_idFrequencia"] != null)
            {
                VS_tur_id = Convert.ToInt32(Session["tur_idFrequencia"]);

                Session.Remove("tur_idFrequencia");

                TUR_Turma tur = new TUR_Turma
                {
                    tur_id = VS_tur_id
                };
                TUR_TurmaBO.GetEntity(tur);

                ACA_FormatoAvaliacao fav = new ACA_FormatoAvaliacao
                {
                    fav_id = tur.fav_id
                };
                ACA_FormatoAvaliacaoBO.GetEntity(fav);

                ESC_Escola entEscola = ESC_EscolaBO.GetEntity(
                    new ESC_Escola {
                    esc_id = tur.esc_id
                });

                List <TUR_TurmaCurriculo> crrTur = TUR_TurmaCurriculoBO.GetSelectBy_Turma(VS_tur_id, ApplicationWEB.AppMinutosCacheLongo);

                ACA_Curso cur = new ACA_Curso
                {
                    cur_id = crrTur[0].cur_id
                };
                ACA_CursoBO.GetEntity(cur);

                VS_cal_id = tur.cal_id;

                if (Session["cap_idFrequencia"] != null && cadastroReunioesPorPeriodo)
                {
                    VS_cap_id = Convert.ToInt32(Session["cap_idFrequencia"]);
                    Session.Remove("tur_idFrequencia");
                }

                ACA_CursoReunioes crn = ACA_CursoReunioesBO.SelecionaPorCursoCalendarioPeriodo
                                        (
                    cur.cur_id
                    ,
                    crrTur[0].crr_id
                    ,
                    VS_cal_id
                    ,
                    cadastroReunioesPorPeriodo ? VS_cap_id : -1
                                        );

                VS_qtd_reunioes = crn.crn_qtde;

                string esc_nome = entEscola.esc_nome;

                if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
                {
                    esc_nome = entEscola.esc_codigo + " - " + esc_nome;
                }

                lblTurma.Text  = "Escola: <b>" + esc_nome + "</b><br />";
                lblTurma.Text += "Turma: <b>" + tur.tur_codigo + "</b>";
                lblCurso.Text  = GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": <b>" + cur.cur_nome + "</b>";

                if (cadastroReunioesPorPeriodo)
                {
                    ACA_CalendarioPeriodo cap = new ACA_CalendarioPeriodo {
                        cal_id = VS_cal_id, cap_id = VS_cap_id
                    };
                    ACA_CalendarioPeriodoBO.GetEntity(cap);
                    lblPeriodoCalendario.Text = GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": <b>" + cap.cap_descricao + (periodoAberto ? " (aberto)" : string.Empty) + "</b>";

                    UCComboPeriodoCalendario1.Visible = false;
                    lblPeriodoCalendario.Visible      = true;
                }
                else
                {
                    lblPeriodoCalendario.Visible      = false;
                    UCComboPeriodoCalendario1.Visible = true;

                    // Carregar combo de período do calendário.
                    UCComboPeriodoCalendario1.CarregarTodosPor_EventoEfetivacao(VS_cal_id, -1, VS_tur_id, __SessionWEB.__UsuarioWEB.Docente.doc_id);
                }

                VerificaRegrasCurso(tur, fav);
                CarregarTelaLancametoFrequencia();
            }
            else
            {
                Response.Redirect("~/Classe/ReunioesResponsaveisFrequencia/Busca.aspx", false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }

        _UCComboOrdenacao1._OnSelectedIndexChange += CarregarTelaLancametoFrequencia;
        UCComboPeriodoCalendario1.IndexChanged    += UCComboPeriodoCalendario1_IndexChanged;
    }
Esempio n. 2
0
    /// <summary>
    /// Salva no banco as frequências.
    /// </summary>
    public bool Salvar(bool PermaneceTela)
    {
        try
        {
            if (!periodoAberto)
            {
                throw new ValidationException(String.Format("Lançamento de frequência em reunião de pais e responsáveis {0} disponível apenas para consulta.", GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id)));
            }

            List <CLS_FrequenciaReuniao>             listfr  = new List <CLS_FrequenciaReuniao>();
            List <CLS_FrequenciaReuniaoResponsaveis> listfrp = new List <CLS_FrequenciaReuniaoResponsaveis>();

            RepeaterItem header      = (RepeaterItem)rptAlunos.Controls[0];
            Repeater     rptReunioes = (Repeater)header.FindControl("rptReunioes");

            bool pCadastroPorPeriodo = cadastroReunioesPorPeriodo;

            // Adiciona itens na lista de TurmaAula - só pra alterar o tau_efetivado.
            foreach (RepeaterItem itemAtividade in rptReunioes.Items)
            {
                CheckBox chkEfetivado = (CheckBox)itemAtividade.FindControl("chkEfetivado");
                int      reu_id       = Convert.ToInt32(((Label)itemAtividade.FindControl("lblreu_id")).Text);

                CLS_FrequenciaReuniao ent = new CLS_FrequenciaReuniao
                {
                    tur_id = VS_tur_id,
                    cal_id = VS_cal_id,
                    cap_id = VS_cap_id,
                    frp_id = reu_id
                };
                CLS_FrequenciaReuniaoBO.GetEntity(ent);

                ent.frr_efetivado = chkEfetivado.Checked;

                listfr.Add(ent);
            }

            foreach (RepeaterItem itemAluno in rptAlunos.Items)
            {
                rptReunioes = (Repeater)itemAluno.FindControl("rptReunioes");
                Int64 alu_id = Convert.ToInt64(((Label)itemAluno.FindControl("lblalu_id")).Text);

                // Adiciona itens na lista de TurmaNota - só pra alterar o tnt_efetivado.
                foreach (RepeaterItem alunos in rptReunioes.Items)
                {
                    int      reu_id        = Convert.ToInt32(((Label)alunos.FindControl("lblreu_id")).Text);
                    CheckBox chkFrequencia = (CheckBox)alunos.FindControl("chkFrequencia");
                    CheckBox chkEfetivado  = (CheckBox)alunos.FindControl("chkEfetivado");
                    bool     frequencia    = chkFrequencia.Checked;

                    if (reu_id > 0)
                    {
                        CLS_FrequenciaReuniaoResponsaveis ent = new CLS_FrequenciaReuniaoResponsaveis
                        {
                            alu_id = alu_id
                            ,
                            cal_id = VS_cal_id
                            ,
                            cap_id = pCadastroPorPeriodo ? VS_cap_id : UCComboPeriodoCalendario1.Cap_ID
                            ,
                            frp_id = reu_id
                            ,
                            frp_frequencia = frequencia
                        };

                        listfrp.Add(ent);
                    }
                }
            }

            if (CLS_FrequenciaReuniaoResponsaveisBO.Salvar(listfrp, listfr))
            {
                if (PermaneceTela)
                {
                    CarregarTelaLancametoFrequencia();
                    _lblMessage.Text = UtilBO.GetErroMessage("Lançamento de frequências salvo com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Lançamento de frequências salvo com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    Response.Redirect("~/Classe/ReunioesResponsaveisFrequencia/Busca.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }

                try
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "tur_id: " + VS_tur_id + "; cal_id: " + VS_cal_id + "; cap_id: " + VS_cap_id);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                }

                return(true);
            }

            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar as frequências.", UtilBO.TipoMensagem.Erro);
            return(false);
        }
        catch (ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            return(false);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar as frequências.", UtilBO.TipoMensagem.Erro);
            _uppMessage.Update();
            return(false);
        }
    }