コード例 #1
0
        /// <summary>
        /// Registra scripts necessários para colocar a mensagem de validação no botão salvar só
        /// quando alterar o combo de situação para 5-Encerrada.
        /// </summary>
        /// <param name="entTurma">Entidade da turma que está sendo editada</param>
        private void RegistraScriptConfirmacao(TUR_Turma entTurma)
        {
            if (entTurma == null)
            {
                try
                {
                    // Recuperar entidade da turma.
                    entTurma = new TUR_Turma
                    {
                        tur_id = VS_tur_id
                    };
                    TUR_TurmaBO.GetEntity(entTurma);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
                }
            }
            else
            {
                if ((!entTurma.IsNew) && (entTurma.tur_situacao == (byte)TUR_TurmaSituacao.Ativo))
                {
                    ScriptManager sm = ScriptManager.GetCurrent(this);
                    if (sm != null)
                    {
                        string script = "var idDdlSituacao = '#" + ddlSituacao.ClientID + "';";

                        Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ids", script, true);
                    }
                }
            }
        }
コード例 #2
0
ファイル: Busca.aspx.cs プロジェクト: Mualumene/SGP
        private void UCComboTurmaDisciplina_IndexChanged()
        {
            try
            {
                UCCPeriodoCalendario.Valor         = new[] { -1, -1 };
                UCCPeriodoCalendario.PermiteEditar = false;

                if (UCCTurmaDisciplina1.Valor > -1)
                {
                    long tur_id = Convert.ToInt64(ddlTurma.SelectedValue);

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

                    UCCPeriodoCalendario.CarregarPorCalendario(entTur.cal_id);

                    UCCPeriodoCalendario.SetarFoco();
                    UCCPeriodoCalendario.PermiteEditar = true;
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
            }
        }
コード例 #3
0
        private void UCCPeriodoCalendario_IndexChanged()
        {
            rptAlunos.DataSource = null;
            bool possuiAlunos = false;

            if (UCCPeriodoCalendario.Valor[0] != -1 && UCCPeriodoCalendario.Valor[1] != -1)
            {
                long tur_id = Convert.ToInt64(ddlTurma.SelectedValue);

                TUR_Turma tur = new TUR_Turma();
                tur.tur_id = tur_id;
                TUR_TurmaBO.GetEntity(tur);

                TUR_TurmaDisciplina tud = new TUR_TurmaDisciplina();
                tud.tud_id = UCCTurmaDisciplina1.Valor;
                TUR_TurmaDisciplinaBO.GetEntity(tud);

                DateTime cap_dataInicio, cap_dataFim;

                ACA_CalendarioPeriodoBO.RetornaDatasPeriodoPor_FormatoAvaliacaoTurmaDisciplina(UCCPeriodoCalendario.Valor[0], string.Empty, UCCTurmaDisciplina1.Valor, tur.fav_id, out cap_dataInicio, out cap_dataFim);

                DataTable dt = _VS_doc_id > 0 && VS_DisciplinaEspecial?
                               MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusenciaFiltroDeficiencia(tur_id, UCCTurmaDisciplina1.Valor, UCCPeriodoCalendario.Valor[0], 0, VS_tipoDocente, VS_cpa_id, false, true) :
                                   MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusencia(UCCTurmaDisciplina1.Valor, UCCPeriodoCalendario.Valor[0], 0, VS_cpa_id, false, true);

                rptAlunos.DataSource = dt;

                possuiAlunos = dt.Rows.Count > 0;
                rptAlunos.DataBind();

                lblMessage.Text = "";

                if (tud.tud_tipo == (byte)TurmaDisciplinaTipo.Experiencia &&
                    !TUR_TurmaDisciplinaTerritorioBO.VerificaOferecimentoExperienciaBimestre(UCCTurmaDisciplina1.Valor, UCComboCalendario.Valor, UCCPeriodoCalendario.Valor[0]))
                {
                    mostraSalvar     = false;
                    lblMessage.Text += UtilBO.GetErroMessage("A experiência não possui territórios vigentes no bimestre.", UtilBO.TipoMensagem.Alerta);
                }

                if (VS_cpa_id <= 0)
                {
                    if (possuiAlunos)
                    {
                        btnSalvar.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_inserir && mostraSalvar;
                    }
                    else
                    {
                        btnSalvar.Visible = false;
                        lblMessage.Text  += UtilBO.GetErroMessage("Não existem alunos com ausências para serem compensadas.", UtilBO.TipoMensagem.Alerta);
                    }
                }
            }

            fdsAlunos.Visible = possuiAlunos;
        }
コード例 #4
0
ファイル: MTR_MovimentacaoBO.cs プロジェクト: Mualumene/SGP
        /// <summary>
        /// Valida os dados necessários para realizar qualquer movimentação.
        /// Dispara uma ValidationException caso haja algum problema.
        /// </summary>
        /// <param name="cadMov">Entidade de cadastro de movimentação</param>
        /// <param name="alu">Entidade do aluno</param>
        /// <param name="tmo">Entidade tipo de movimentação</param>
        /// <param name="bancoGestao">Transação com banco - obrigatório</param>
        private static void ValidaDadosMovimentacao(MTR_Movimentacao_Cadastro cadMov, MTR_TipoMovimentacao tmo, ACA_Aluno alu, TalkDBTransaction bancoGestao)
        {
            bool isValidInicioMovimentacao;
            bool isValidFechamentoMovimentacao;

            // Valida se está no momento configurado na movimentação.
            MTR_TipoMovimentacaoBO.VerificaPeriodoValidoMovimentacao(cadMov.entMatTurAnterior,
                                                                     cadMov.entAluCurAnterior,
                                                                     cadMov.entMovimentacao.tmo_id,
                                                                     bancoGestao,
                                                                     cadMov.entMovimentacao.mov_dataRealizacao,
                                                                     out isValidInicioMovimentacao,
                                                                     out isValidFechamentoMovimentacao,
                                                                     cadMov.listasFechamentoMatricula);

            if (!isValidInicioMovimentacao)
            {
                throw new ValidationException("Não é possível realizar esse tipo de movimentação nesse momento do calendário escolar.");
            }

            if ((cadMov.entMatTurNovo != null) && (cadMov.entMatTurNovo.tur_id > 0))
            {
                // Verificar se a turma que o aluno vai entrar é do tipo 1-Normal.
                TUR_Turma entTurmaDestino = null;
                if (cadMov.listasFechamentoMatricula.listTurma != null)
                {
                    // Se a lista de fechamento foi alimentada, buscar entidade da lista.
                    entTurmaDestino = cadMov.listasFechamentoMatricula.listTurma.Find(p => p.tur_id == cadMov.entMatTurNovo.tur_id);
                }

                if (entTurmaDestino == null)
                {
                    entTurmaDestino = new TUR_Turma
                    {
                        tur_id = cadMov.entMatTurNovo.tur_id
                    };
                    TUR_TurmaBO.GetEntity(entTurmaDestino, bancoGestao);
                }

                if (entTurmaDestino.tur_tipo != (byte)TUR_TurmaTipo.Normal)
                {
                    throw new ValidationException("Não é possível movimentar o aluno para a turma " +
                                                  entTurmaDestino.tur_codigo + ".");
                }
            }
        }
コード例 #5
0
ファイル: Busca.aspx.cs プロジェクト: Mualumene/SGP
        protected void CarregarBoletim(long alu_id, int mtu_id)
        {
            try
            {
                string mtuId = "";

                if (mtu_id > 0)
                {
                    mtuId = Convert.ToString(mtu_id);
                }

                int tpc_id = 0;
                MTR_MatriculaTurma matriculaTurma = MTR_MatriculaTurmaBO.GetEntity(new MTR_MatriculaTurma {
                    alu_id = __SessionWEB.__UsuarioWEB.alu_id, mtu_id = mtu_id
                });
                TUR_Turma turma = TUR_TurmaBO.GetEntity(new TUR_Turma {
                    tur_id = matriculaTurma.tur_id
                });
                DataTable dtAvaliacao = ACA_AvaliacaoBO.GetSelectBy_FormatoAvaliacao(turma.fav_id);

                tpc_id = (from DataRow row in dtAvaliacao.Rows
                          orderby Convert.ToInt32(row["tpc_ordem"])
                          select Convert.ToInt32(row["tpc_id"])).FirstOrDefault();

                List <ACA_AlunoBO.BoletimDadosAluno> lBoletimAluno = ACA_AlunoBO.BuscaBoletimAlunos(Convert.ToString(alu_id), mtuId, tpc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                if (lBoletimAluno != null && lBoletimAluno.Any())
                {
                    UCAlunoBoletimEscolar.ExibeBoletim(lBoletimAluno.FirstOrDefault());
                }
                else
                {
                    throw new ValidationException("O aluno não possui dados para o boletim.");
                }
            }
            catch (ValidationException ex)
            {
                lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage("Erro ao exibir o Boletim Online do aluno.", UtilBO.TipoMensagem.Erro);
            }
        }
コード例 #6
0
ファイル: MTR_MovimentacaoBO.cs プロジェクト: Mualumene/SGP
        /// <summary>
        /// Retorna se a escola de origem vai ser responsável pelo lançamento de notas
        /// </summary>
        /// <param name="tur_id"></param>
        /// <param name="dataMovimentacao"></param>
        /// <param name="ent_id"></param>
        /// <returns>
        /// True: Lançamento de notas será pela escola de origem
        /// False: Lançamento de notas será definido pelo usuário
        /// </returns>
        public static bool VerificaEfetivacaoEscolaOrigem(long tur_id, DateTime dataMovimentacao, Guid ent_id)
        {
            TUR_Turma tur = new TUR_Turma {
                tur_id = tur_id
            };

            TUR_TurmaBO.GetEntity(tur);

            int tmo_id = MTR_TipoMovimentacaoBO.Retorna_TipoMovimentacaoId((byte)MTR_TipoMovimentacaoTipoMovimento.TransferenciaPropriaRede, ent_id);

            string sPrazoDias = MTR_ParametroTipoMovimentacaoBO.SelecionaValorParametroTipoMovimentacao(tmo_id, ChaveParametroTipoMovimentacao.PrazoDiasEfetivacaoEscolaOrigem);
            int    PrazoDias  = string.IsNullOrEmpty(sPrazoDias) ? 0 : Convert.ToInt32(sPrazoDias);

            DateTime dataFimPeriodoCalendario = ACA_TipoPeriodoCalendarioBO.SelecionaDataFinalPeriodoCalendarioAtual(tur.cal_id, dataMovimentacao);

            return(dataFimPeriodoCalendario != new DateTime() &&
                   dataFimPeriodoCalendario.AddDays(PrazoDias * -1).Date <= dataMovimentacao);
        }
コード例 #7
0
ファイル: Cadastro.aspx.cs プロジェクト: Mualumene/SGP
        /// <summary>
        /// Carrega as informações de qual escola, qual turma e qual bimestre deve ser importado
        /// </summary>
        private void CarregarDados()
        {
            TUR_Turma tur = new TUR_Turma {
                tur_id = VS_tur_id
            };

            TUR_TurmaBO.GetEntity(tur);

            ACA_CalendarioPeriodo tpc = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario_TipoPeriodo(VS_cal_id, VS_tpc_id, ApplicationWEB.AppMinutosCacheLongo);

            ESC_Escola esc = new ESC_Escola
            {
                esc_id = tur.esc_id,
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id
            };

            ESC_EscolaBO.GetEntity(esc);

            lblEscola.Text   = "Escola: " + esc.esc_nome;
            lblTurma.Text    = "Turma: " + tur.tur_codigo;
            lblBimestre.Text = (string)GetGlobalResourceObject("Mensagens", "MSG_EFETIVACAO") + ": " + tpc.cap_descricao;
        }
コード例 #8
0
ファイル: Efetivacao.aspx.cs プロジェクト: Mualumene/SGP
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                UCEfetivacaoNotas1.VisibleNavegacao     = false;
                UCEfetivacaoNotas1.VisibleBotaoCancelar = false;

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

                    if (PreviousPage == null && Session["DadosPaginaRetorno"] == null && Session["tud_id"] == null)
                    {
                        // Se não carregou nenhuma turma, redireciona pra busca.
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage("É necessário selecionar uma turma.", UtilBO.TipoMensagem.Alerta);
                        if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Gestao ||
                            __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa)
                        {
                            RedirecionarPagina("~/Academico/ControleTurma/MinhaEscolaGestor.aspx");
                        }
                        else
                        {
                            RedirecionarPagina("~/Academico/ControleTurma/Busca.aspx");
                        }
                    }
                    else
                    {
                        List <Struct_MinhasTurmas> dadosTodasTurmas = new List <Struct_MinhasTurmas>();
                        long tud_idCompartilhada = -1;

                        if (Session["Historico"] != null)
                        {
                            VS_historico = Convert.ToBoolean(Session["Historico"]) && __SessionWEB.__UsuarioWEB.Docente.doc_id > 0;
                            Session.Remove("Historico");
                        }
                        if (Session["TudIdCompartilhada"] != null)
                        {
                            tud_idCompartilhada = Convert.ToInt64(Session["TudIdCompartilhada"]);
                            Session.Remove("TudIdCompartilhada");
                        }
                        if (Session["tud_id"] != null && Session["tdt_posicao"] != null && Session["PaginaRetorno"] != null)
                        {
                            UCControleTurma1.VS_tud_id              = Convert.ToInt64(Session["tud_id"]);
                            UCControleTurma1.VS_tdt_posicao         = Convert.ToByte(Session["tdt_posicao"]);
                            UCNavegacaoTelaPeriodo.VS_paginaRetorno = Session["PaginaRetorno"].ToString();
                            if (Session["tur_tipo"] != null && Session["tur_idNormal"] != null && Session["tud_idAluno"] != null)
                            {
                                UCControleTurma1.VS_tur_tipo     = Convert.ToByte(Session["tur_tipo"]);
                                UCControleTurma1.VS_tur_idNormal = Convert.ToInt64(Session["tur_idNormal"]);
                                UCControleTurma1.VS_tud_idAluno  = Convert.ToInt64(Session["tud_idAluno"]);
                            }
                            if (VS_EntitiesControleTurma.escola == null)
                            {
                                ViewState["VS_EntitiesControleTurma"] = null;
                            }
                            UCControleTurma1.VS_esc_id                  = VS_EntitiesControleTurma.escola.esc_id;
                            UCControleTurma1.VS_uni_id                  = VS_EntitiesControleTurma.turma.uni_id;
                            UCControleTurma1.VS_tur_id                  = VS_EntitiesControleTurma.turma.tur_id;
                            UCControleTurma1.VS_tud_naoLancarNota       = VS_EntitiesControleTurma.turmaDisciplina.tud_naoLancarNota;
                            UCControleTurma1.VS_tud_naoLancarFrequencia = VS_EntitiesControleTurma.turmaDisciplina.tud_naoLancarFrequencia;
                            UCControleTurma1.VS_tur_dataEncerramento    = VS_EntitiesControleTurma.turma.tur_dataEncerramento;
                            UCNavegacaoTelaPeriodo.VS_cal_id            = VS_EntitiesControleTurma.turma.cal_id;
                            UCControleTurma1.VS_tciIds                  = VS_EntitiesControleTurma.tciIds;
                            if (Session["VS_TpcId"] != null)
                            {
                                UCNavegacaoTelaPeriodo.VS_tpc_id = Convert.ToInt32(Session["VS_TpcId"]);
                            }
                            if (Session["VS_TpcOrdem"] != null)
                            {
                                UCNavegacaoTelaPeriodo.VS_tpc_ordem = Convert.ToInt32(Session["VS_TpcOrdem"]);
                            }
                        }
                        else if (PreviousPage != null && PreviousPage.IsCrossPagePostBack)
                        {
                            UCControleTurma1.VS_tud_id              = PreviousPage.Edit_tud_id;
                            UCControleTurma1.VS_tdt_posicao         = PreviousPage.Edit_tdt_posicao;
                            UCNavegacaoTelaPeriodo.VS_paginaRetorno = PreviousPage.PaginaRetorno;
                            if (VS_EntitiesControleTurma.escola == null)
                            {
                                ViewState["VS_EntitiesControleTurma"] = null;
                            }
                            UCControleTurma1.VS_esc_id                  = VS_EntitiesControleTurma.escola.esc_id;
                            UCControleTurma1.VS_uni_id                  = VS_EntitiesControleTurma.turma.uni_id;
                            UCControleTurma1.VS_tur_id                  = VS_EntitiesControleTurma.turma.tur_id;
                            UCControleTurma1.VS_tud_naoLancarNota       = VS_EntitiesControleTurma.turmaDisciplina.tud_naoLancarNota;
                            UCControleTurma1.VS_tud_naoLancarFrequencia = VS_EntitiesControleTurma.turmaDisciplina.tud_naoLancarFrequencia;
                            UCControleTurma1.VS_tur_dataEncerramento    = VS_EntitiesControleTurma.turma.tur_dataEncerramento;
                            UCNavegacaoTelaPeriodo.VS_cal_id            = VS_EntitiesControleTurma.turma.cal_id;
                            UCControleTurma1.VS_tciIds                  = VS_EntitiesControleTurma.tciIds;
                            UCControleTurma1.VS_tur_tipo                = VS_EntitiesControleTurma.turma.tur_tipo;
                        }
                        else if (Session["DadosPaginaRetorno"] != null)
                        {
                            Dictionary <string, string> listaDados = (Dictionary <string, string>)Session["DadosPaginaRetorno"];
                            UCControleTurma1.VS_tud_id                  = Convert.ToInt64(listaDados["Tud_idRetorno_ControleTurma"]);
                            UCControleTurma1.VS_tdt_posicao             = Convert.ToByte(listaDados["Edit_tdt_posicao"]);
                            UCNavegacaoTelaPeriodo.VS_paginaRetorno     = listaDados["PaginaRetorno"].ToString();
                            UCControleTurma1.VS_esc_id                  = Convert.ToInt32(listaDados["Edit_esc_id"]);
                            UCControleTurma1.VS_uni_id                  = Convert.ToInt32(listaDados["Edit_uni_id"]);
                            UCControleTurma1.VS_tur_id                  = Convert.ToInt64(listaDados["Edit_tur_id"]);
                            UCControleTurma1.VS_tud_naoLancarNota       = Convert.ToBoolean(listaDados["Edit_tud_naoLancarNota"]);
                            UCControleTurma1.VS_tud_naoLancarFrequencia = Convert.ToBoolean(listaDados["Edit_tud_naoLancarFrequencia"]);
                            UCControleTurma1.VS_tur_dataEncerramento    = Convert.ToDateTime(listaDados["Edit_tur_dataEncerramento"]);
                            UCNavegacaoTelaPeriodo.VS_cal_id            = Convert.ToInt32(listaDados["Edit_cal_id"]);
                            UCControleTurma1.VS_tciIds                  = listaDados["Edit_tciIds"];
                            UCControleTurma1.VS_tur_tipo                = Convert.ToByte(listaDados["Edit_tur_tipo"]);
                            UCControleTurma1.VS_tud_idAluno             = Convert.ToInt64(listaDados["Edit_tud_idAluno"]);
                            UCControleTurma1.VS_tur_idNormal            = Convert.ToInt64(listaDados["Edit_tur_idNormal"]);
                            UCNavegacaoTelaPeriodo.VS_tpc_id            = Convert.ToInt32(listaDados["Edit_tpc_id"]);
                            UCNavegacaoTelaPeriodo.VS_tpc_ordem         = Convert.ToInt32(listaDados["Edit_tpc_ordem"]);
                            UCControleTurma1.VS_tur_tud_ids             = (List <string>)(Session["tur_tud_ids"] ?? new List <string>());
                            UCControleTurma1.LabelTurmas                = listaDados["TextoTurmas"];
                        }

                        int tpcIdPendencia = -1;
                        if (Session["tpcIdPendencia"] != null)
                        {
                            tpcIdPendencia = Convert.ToInt32(Session["tpcIdPendencia"]);
                        }

                        // Remove os dados que possam estar na sessao
                        Session.Remove("tud_id");
                        Session.Remove("tdt_posicao");
                        Session.Remove("PaginaRetorno");
                        Session.Remove("DadosPaginaRetorno");
                        Session.Remove("VS_DadosTurmas");
                        Session.Remove("VS_TpcId");
                        Session.Remove("tur_tipo");
                        Session.Remove("tur_idNormal");
                        Session.Remove("tud_idAluno");
                        Session.Remove("tur_tud_ids");
                        Session.Remove("tipoPendencia");
                        Session.Remove("tpcIdPendencia");
                        Session.Remove("tudIdPendencia");
                        //

                        List <Struct_MinhasTurmas.Struct_Turmas> dadosTurma = new List <Struct_MinhasTurmas.Struct_Turmas>();

                        // Se for perfil Administrador
                        if (__SessionWEB.__UsuarioWEB.Docente.doc_id == 0)
                        {
                            dadosTodasTurmas.Add
                            (
                                new Struct_MinhasTurmas
                            {
                                Turmas = TUR_TurmaBO.SelecionaMinhasTurmasComboPorTurId
                                         (
                                    VS_EntitiesControleTurma.turmaDisciplina.tud_tipo == (byte)TurmaDisciplinaTipo.MultisseriadaDocente
                                                                 ? UCControleTurma1.VS_tur_idNormal : UCControleTurma1.VS_tur_id,
                                    ApplicationWEB.AppMinutosCacheCurto
                                         )
                            }
                            );

                            // Não busca pela posição
                            dadosTodasTurmas.All(p =>
                            {
                                dadosTurma.AddRange(p.Turmas.Where(t => t.tud_id == UCControleTurma1.VS_tud_id));
                                return(true);
                            });

                            UCControleTurma1.LabelTurmas = dadosTurma.FirstOrDefault().TurmaDisciplinaEscola;
                        }
                        else
                        {
                            dadosTodasTurmas = TUR_TurmaBO.SelecionaPorDocenteControleTurma(__SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Docente.doc_id, ApplicationWEB.AppMinutosCacheCurto, false);

                            dadosTodasTurmas.All(p =>
                            {
                                dadosTurma.AddRange(p.Turmas.Where(t => t.tud_id == UCControleTurma1.VS_tud_id && t.tdt_posicao == UCControleTurma1.VS_tdt_posicao));
                                return(true);
                            });

                            VS_situacaoTurmaDisciplina = dadosTurma.FirstOrDefault().tdt_situacao;

                            UCControleTurma1.LabelTurmas = dadosTurma.FirstOrDefault().TurmaDisciplinaEscola;
                        }

                        VS_turmasAnoAtual = dadosTurma.FirstOrDefault().turmasAnoAtual;

                        UCNavegacaoTelaPeriodo.VS_opcaoAbaAtual = eOpcaoAbaMinhasTurmas.Efetivacao;

                        // Carrega o combo de disciplinas e seta o valor selecionado.
                        List <Struct_MinhasTurmas.Struct_Turmas> dadosTurmas = new List <Struct_MinhasTurmas.Struct_Turmas>();

                        dadosTodasTurmas.All(p =>
                        {
                            dadosTurmas.AddRange(p.Turmas);
                            return(true);
                        });

                        // Carrega combo de turmas
                        if (__SessionWEB.__UsuarioWEB.Docente.doc_id == 0)
                        {
                            List <Struct_MinhasTurmas.Struct_Turmas> dadosTurmasCombo = TUR_TurmaBO.SelecionaMinhasTurmasComboPorTurId
                                                                                        (
                                VS_EntitiesControleTurma.turmaDisciplina.tud_tipo == (byte)TurmaDisciplinaTipo.MultisseriadaDocente
                                ? UCControleTurma1.VS_tur_idNormal : UCControleTurma1.VS_tur_id,
                                ApplicationWEB.AppMinutosCacheCurto
                                                                                        );

                            UCControleTurma1.CarregaTurmas(dadosTurmasCombo, UCNavegacaoTelaPeriodo.VS_cal_id, VS_EntitiesControleTurma.turmaDisciplina.tud_tipo, VS_EntitiesControleTurma.formatoAvaliacao.fav_fechamentoAutomatico, true);
                        }
                        else
                        {
                            List <Struct_MinhasTurmas.Struct_Turmas> dadosTurmasCombo = new List <Struct_MinhasTurmas.Struct_Turmas>();

                            if (VS_EntitiesControleTurma.turma.tur_situacao == (byte)TUR_TurmaSituacao.Ativo && VS_situacaoTurmaDisciplina == 1)
                            {
                                // dadosTurmasAtivas
                                dadosTurmasCombo = TUR_TurmaBO.SelecionaTurmasAtivasDocente(dadosTodasTurmas, 0);
                            }
                            else
                            {
                                dadosTurmasCombo = dadosTurmas;
                            }

                            UCControleTurma1.CarregaTurmas(dadosTurmasCombo, UCNavegacaoTelaPeriodo.VS_cal_id, VS_EntitiesControleTurma.turmaDisciplina.tud_tipo, VS_EntitiesControleTurma.formatoAvaliacao.fav_fechamentoAutomatico, true);
                        }

                        TUR_Turma turma = new TUR_Turma();
                        turma.tur_id = UCControleTurma1.VS_tur_id;
                        turma        = TUR_TurmaBO.GetEntity(turma);

                        ACA_FormatoAvaliacao formatoAvaliacao = new ACA_FormatoAvaliacao();
                        formatoAvaliacao.fav_id = turma.fav_id;
                        formatoAvaliacao        = ACA_FormatoAvaliacaoBO.GetEntity(formatoAvaliacao);

                        UCNavegacaoTelaPeriodo.VS_IncluirPeriodoFinal = formatoAvaliacao.fav_avaliacaoFinalAnalitica;

                        TUR_TurmaDisciplina entDisciplinaRelacionada = null;
                        if (VS_EntitiesControleTurma.turmaDisciplina.tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada)
                        {
                            List <sTurmaDisciplinaRelacionada> lstDisciplinaCompartilhada = VS_historico ? TUR_TurmaDisciplinaBO.SelectRelacionadaVigenteBy_DisciplinaCompartilhada(VS_EntitiesControleTurma.turmaDisciplina.tud_id, ApplicationWEB.AppMinutosCacheLongo, false, __SessionWEB.__UsuarioWEB.Docente.doc_id)
                                                                                                        : TUR_TurmaDisciplinaBO.SelectRelacionadaVigenteBy_DisciplinaCompartilhada(VS_EntitiesControleTurma.turmaDisciplina.tud_id, ApplicationWEB.AppMinutosCacheLongo);
                            bool docenciaCompartilhadaOk = false;
                            if (lstDisciplinaCompartilhada.Count > 0)
                            {
                                if (tud_idCompartilhada <= 0 || !lstDisciplinaCompartilhada.Any(p => p.tud_id == tud_idCompartilhada))
                                {
                                    tud_idCompartilhada = lstDisciplinaCompartilhada[0].tud_id;
                                }

                                if (tud_idCompartilhada > 0)
                                {
                                    docenciaCompartilhadaOk  = true;
                                    entDisciplinaRelacionada = TUR_TurmaDisciplinaBO.GetEntity(new TUR_TurmaDisciplina {
                                        tud_id = tud_idCompartilhada
                                    });
                                    VS_turmaDisciplinaRelacionada = lstDisciplinaCompartilhada.Find(p => p.tud_id == tud_idCompartilhada);
                                    //UCControleTurma1.CarregarDisciplinaCompartilhada(lstDisciplinaCompartilhada, VS_turmaDisciplinaRelacionada.tud_id, VS_turmaDisciplinaRelacionada.tdr_id);
                                }
                            }

                            if (!docenciaCompartilhadaOk)
                            {
                                __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("{0} {1} - {2}.",
                                                                                                GetGlobalResourceObject("Mensagens", "MSG_SEM_RELACIONAMENTO_DOCENCIA_COMPARTILHADA").ToString()
                                                                                                , VS_EntitiesControleTurma.turma.tur_codigo
                                                                                                , VS_EntitiesControleTurma.turmaDisciplina.tud_nome)
                                                                                  , UtilBO.TipoMensagem.Alerta);
                                RedirecionarPagina(UCNavegacaoTelaPeriodo.VS_paginaRetorno);
                            }
                        }

                        UCNavegacaoTelaPeriodo.CarregarPeriodos(VS_ltPermissaoFrequencia, VS_ltPermissaoEfetivacao,
                                                                VS_ltPermissaoPlanejamentoAnual, VS_ltPermissaoAvaliacao,
                                                                entDisciplinaRelacionada, UCControleTurma1.VS_esc_id,
                                                                VS_EntitiesControleTurma.turmaDisciplina.tud_tipo, UCControleTurma1.VS_tdt_posicao, turma.tur_id, VS_EntitiesControleTurma.turmaDisciplina.tud_id, false, tpcIdPendencia);

                        if (UCNavegacaoTelaPeriodo.VS_tpc_id <= 0 && !formatoAvaliacao.fav_avaliacaoFinalAnalitica)
                        {
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage("Escola não permite lançar dados.", UtilBO.TipoMensagem.Alerta);
                            RedirecionarPagina(UCNavegacaoTelaPeriodo.VS_paginaRetorno);
                        }

                        CarregarTela();
                    }

                    hdnProcessarFilaFechamentoTela.Value = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PROCESSAR_FILA_FECHAMENTO_TELA, __SessionWEB.__UsuarioWEB.Usuario.ent_id) ? "true" : "false";
                }

                ScriptManager sm = ScriptManager.GetCurrent(this);
                if (sm != null)
                {
                    sm.Scripts.Add(new ScriptReference("~/Includes/jsControleTurma_Efetivacao.js"));
                    sm.Scripts.Add(new ScriptReference("~/Includes/jsUCSelecaoDisciplinaCompartilhada.js"));
                }

                UCNavegacaoTelaPeriodo.OnCarregaDadosTela += CarregaSessionPaginaRetorno;
                UCControleTurma1.IndexChanged              = uccTurmaDisciplina_IndexChanged;
                UCNavegacaoTelaPeriodo.OnAlteraPeriodo    += CarregarTela;
                UCSelecaoDisciplinaCompartilhada1.SelecionarDisciplina      += UCSelecaoDisciplinaCompartilhada1_SelecionarDisciplina;
                UCControleTurma1.chkTurmasNormaisMultisseriadasIndexChanged += UCControleTurma_chkTurmasNormaisMultisseriadasIndexChanged;

                if ((__SessionWEB.__UsuarioWEB.Grupo.vis_id != SysVisaoID.Individual)
                    &&
                    (__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar && // somente permissão consulta
                     (!__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_inserir) &&
                     (!__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir) &&
                     (!__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar)))
                {
                    UCEfetivacaoNotas1.HabilitaBoletimAluno = true;
                }

                bool mudaCorTitulo = VS_cal_ano < DateTime.Now.Year && VS_turmasAnoAtual && VS_EntitiesControleTurma.turma.tur_situacao == 1;

                UCControleTurma1.CorTituloTurma = mudaCorTitulo ? System.Drawing.ColorTranslator.FromHtml("#A52A2A") : System.Drawing.Color.Black;
                divMessageTurmaAnterior.Visible = mudaCorTitulo;
            }
            catch (ThreadAbortException)
            {
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
            }
        }
コード例 #9
0
        public static bool Save
        (
            CLS_TurmaNota entity,
            TUR_Turma entTurma,
            DateTime cal_dataInicio,
            DateTime cal_dataFim,
            DateTime cap_dataInicio,
            DateTime cap_dataFim,
            Guid ent_id,
            List <CLS_TurmaNotaOrientacaoCurricular> lstHabilidades,
            bool fav_permiteRecuperacaoForaPeriodo,
            CLS_TurmaAula entityTurmaAula = null,
            CLS_TurmaNotaRegencia entityTurmaNotaRegencia = null,
            bool validarDataAula = true,
            Guid usu_id          = new Guid(),
            byte origemLogNota   = 0,
            byte tipoLogNota     = 0
        )
        {
            TalkDBTransaction banco = new CLS_TurmaNotaDAO()._Banco.CopyThisInstance();

            banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                bool bRetorno = false;

                // Caso tenha selecionado uma aula para vincular à atividade.
                if (validarDataAula && entity.tnt_data == new DateTime())
                {
                    CLS_TurmaAula entityAula = new CLS_TurmaAula
                    {
                        tud_id = entity.tud_id,
                        tau_id = entity.tau_id
                    };
                    CLS_TurmaAulaBO.GetEntity(entityAula, banco);

                    // Verifica se o usuário logado tem uma posição compatível à da aula.
                    if ((entity.tdt_posicao > 0) && (entity.tdt_posicao != entityAula.tdt_posicao))
                    {
                        throw new ValidationException("Você não tem permissão para vincular a nova atividade à esta data da aula.");
                    }

                    // Caso o usuário logado tenha selecionado uma aula para vincular e
                    // não seja um docente, copia a posição da aula.
                    entity.tdt_posicao = entityAula.tdt_posicao;
                    entity.usu_id      = entityAula.usu_id;
                }

                // Caso o usuário logado não seja um docente, grava como posição 1.
                if (entity.tdt_posicao < 1)
                {
                    entity.tdt_posicao = 1;
                }

                if (entity.Validate())
                {
                    // Verifica se a atividade foi alterada/excluída por outra pessoa enquanto o usuário tentava alterar a mesma.
                    CLS_TurmaNota entityAtividadeAuxiliar = new CLS_TurmaNota
                    {
                        tud_id = entity.tud_id,
                        tnt_id = entity.tnt_id
                    };
                    GetEntity(entityAtividadeAuxiliar, banco);

                    if (!entityAtividadeAuxiliar.IsNew)
                    {
                        entity.tdt_posicao = entityAtividadeAuxiliar.tdt_posicao;
                        entity.usu_id      = entityAtividadeAuxiliar.usu_id;
                    }

                    if (entityAtividadeAuxiliar.tnt_dataAlteracao != entity.tnt_dataAlteracao)
                    {
                        throw new EditarAtividade_ValidationException("Esta atividade já foi alterada recentemente.");
                    }

                    string nomeAtividade = GestaoEscolarUtilBO.nomePadraoAtividadeAvaliativa(ent_id);

                    if (entity.tav_id <= 0 && string.IsNullOrEmpty(entity.tnt_nome) && ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.NOME_TODAS_ATIVIDADES_AVALIATIVAS, ent_id) == "False")
                    {
                        throw new ArgumentException(string.Format("Outro tipo de {0} é obrigatório.", nomeAtividade.ToLower()));
                    }

                    CLS_TipoAtividadeAvaliativa entityAtividade = new CLS_TipoAtividadeAvaliativa();
                    if (entity.tav_id <= 0)
                    {
                        if (entity.tnt_nome.Length > 100)
                        {
                            throw new ArgumentException(nomeAtividade + " pode conter até 100 caracteres.");
                        }
                    }
                    else
                    {
                        entityAtividade.tav_id = entity.tav_id;
                        CLS_TipoAtividadeAvaliativaBO.GetEntity(entityAtividade, banco);
                    }

                    if (entity.tnt_situacao != Convert.ToByte(CLS_TurmaNotaSituacao.AtividadeCancelada) || (entityAtividadeAuxiliar.tnt_situacao == entity.tnt_situacao))
                    {
                        if ((entityAtividade.tav_situacao == Convert.ToByte(CLS_TipoAtividadeAvaliativaSituacao.Inativo)) && (entityAtividade.tav_id != entityAtividadeAuxiliar.tav_id))
                        {
                            throw new ArgumentException(string.Format("Tipo de {0} está inativo.", nomeAtividade.ToLower()));
                        }
                    }

                    CLS_TurmaNota avaRecuperacao = CLS_TurmaNotaBO.GetSelectRelacionadaFilho(entity.tud_id, entity.tnt_id, banco);
                    if (entity.tnt_data != new DateTime())
                    {
                        if (entTurma.tur_id <= 0)
                        {
                            entTurma = new TUR_Turma {
                                tur_id = entity.tur_id
                            };
                            TUR_TurmaBO.GetEntity(entTurma, banco);
                        }

                        // Compara as datas das avaliacoes relacionadas
                        bool          relacionadaPai = false;
                        CLS_TurmaNota avaRelacionada = CLS_TurmaNotaBO.GetSelectRelacionadaFilho(entity.tud_id, entity.tnt_id, banco);
                        if (avaRelacionada.tnt_id > 0)
                        {
                            // se a data da recuperacao filho eh menor que a data da avaliacao pai...
                            if (avaRecuperacao.tnt_data != new DateTime() && avaRecuperacao.tnt_data < entity.tnt_data)
                            {
                                throw new ArgumentException(CustomResource.GetGlobalResourceObject("Academico", "LancamentoAvaliacao.UCCadastroAvaliacao.lblMessageAtividade.ValidacaoDataFilho").ToString());
                            }
                        }
                        else
                        {
                            avaRelacionada = CLS_TurmaNotaBO.GetSelectRelacionadaPai(entity.tud_id, entity.tnt_id);
                            relacionadaPai = avaRelacionada.tnt_id > 0;
                            avaRelacionada = CLS_TurmaNotaBO.GetSelectRelacionadaPai(entity.tud_id, entity.tnt_id, banco);
                            // se a data da avaliacao pai eh maior que a data da recuperacao filho...
                            if (avaRelacionada.tnt_id > 0 && avaRelacionada.tnt_data != new DateTime() && avaRelacionada.tnt_data > entity.tnt_data)
                            {
                                throw new ArgumentException(CustomResource.GetGlobalResourceObject("Academico", "LancamentoAvaliacao.UCCadastroAvaliacao.lblMessageAtividade.ValidacaoDataPai").ToString());
                            }
                        }

                        if (!(fav_permiteRecuperacaoForaPeriodo && relacionadaPai) &&
                            (entity.tnt_data > cal_dataFim || entity.tnt_data < cal_dataInicio))
                        {
                            throw new ArgumentException("A data da atividade deve estar dentro do período do calendário escolar (" + cal_dataInicio.ToString("dd/MM/yyyy") + " - " + cal_dataFim.ToString("dd/MM/yyyy") + ").");
                        }

                        if (!(fav_permiteRecuperacaoForaPeriodo && relacionadaPai) &&
                            (entity.tnt_data > cap_dataFim || entity.tnt_data < cap_dataInicio))
                        {
                            throw new ArgumentException("A data da atividade deve estar dentro do período do calendário (" + cap_dataInicio.ToString("dd/MM/yyyy") + " - " + cap_dataFim.ToString("dd/MM/yyyy") + ").");
                        }
                    }

                    // Valida se existe aluno com habilidade nao selecionada na avaliacao
                    if (entity.tnt_id > 0 && !CLS_TurmaNotaAlunoOrientacaoCurricularBO.ValidarHabilidadesAvaliacao(lstHabilidades, banco))
                    {
                        throw new ArgumentException(CustomResource.GetGlobalResourceObject("Academico", "LancamentoAvaliacao.UCCadastroAvaliacao.lblMessageAtividade.ValidaHabilidadesAluno").ToString());
                    }

                    // Valida se existe aluno na avaliacao de recuperacao, com habilidade
                    // que nao esta mais selecionada na avaliacao normal
                    if (avaRecuperacao.tnt_id > 0 && !CLS_TurmaNotaAlunoOrientacaoCurricularBO.ValidarHabilidadesAvaliacao(lstHabilidades, banco, avaRecuperacao.tnt_id))
                    {
                        throw new ArgumentException(CustomResource.GetGlobalResourceObject("Academico", "LancamentoAvaliacao.UCCadastroAvaliacao.lblMessageAtividade.ValidaHabilidadesAlunoRecuperacao").ToString());
                    }

                    CLS_ConfiguracaoAtividadeQualificador configQualificador = new CLS_ConfiguracaoAtividadeQualificador();
                    CLS_TurmaNotaDAO dao = new CLS_TurmaNotaDAO {
                        _Banco = banco
                    };
                    if (entity.IsNew && entity.tav_id > 0 && entityAtividade.qat_id > 0)
                    {
                        CLS_ConfiguracaoAtividadeQualificadorDAO configQualificadorDao = new CLS_ConfiguracaoAtividadeQualificadorDAO();
                        configQualificadorDao._Banco = banco;
                        configQualificador           = configQualificadorDao.GetSelectByTudQualificador(entity.tud_id, entityAtividade.qat_id);

                        // Valida a quantidade configurada para o qualificador
                        if (configQualificador.caa_id > 0 && configQualificador.caq_quantidade >= 0)
                        {
                            if (dao.ValidaQuantidadeMaxima(entity.tud_id, entityAtividade.qat_id, entity.tpc_id, configQualificador.caq_quantidade))
                            {
                                throw new ArgumentException(CustomResource.GetGlobalResourceObject("Academico", "LancamentoAvaliacao.UCCadastroAvaliacao.lblMessageAtividade.ValidacaoQuantidade").ToString());
                            }
                        }
                    }

                    bRetorno = dao.Salvar(entity);

                    if (entity.IsNew &&
                        configQualificador.caa_id > 0 &&
                        configQualificador.caq_possuiRecuperacao)
                    {
                        int tavIdRelacionado = CLS_TipoAtividadeAvaliativaBO.SelecionaTipoAtividadeAvaliativaRelacionado(configQualificador.caa_id, configQualificador.qat_id, banco);
                        if (tavIdRelacionado > 0)
                        {
                            CLS_TurmaNota entityRelacionada = new CLS_TurmaNota();
                            entityRelacionada.tud_id                 = entity.tud_id;
                            entityRelacionada.IsNew                  = true;
                            entityRelacionada.tpc_id                 = entity.tpc_id;
                            entityRelacionada.tnt_situacao           = 1;
                            entityRelacionada.tav_id                 = tavIdRelacionado;
                            entityRelacionada.tdt_posicao            = entity.tdt_posicao;
                            entityRelacionada.tnt_exclusiva          = false;
                            entityRelacionada.usu_id                 = entity.usu_id;
                            entityRelacionada.usu_idDocenteAlteracao = entity.usu_idDocenteAlteracao;
                            dao.Salvar(entityRelacionada);

                            CLS_TurmaNotaRelacionada entityRelacionamento = new CLS_TurmaNotaRelacionada();
                            entityRelacionamento.IsNew             = true;
                            entityRelacionamento.tud_id            = entity.tud_id;
                            entityRelacionamento.tnt_id            = entity.tnt_id;
                            entityRelacionamento.tud_idRelacionada = entityRelacionada.tud_id;
                            entityRelacionamento.tnt_idRelacionada = entityRelacionada.tnt_id;
                            CLS_TurmaNotaRelacionadaBO.Save(entityRelacionamento, banco);

                            avaRecuperacao = entityRelacionada;
                        }
                    }

                    #region Salva as Orientacoes curriculares ligadas a avaliacao

                    if (bRetorno && lstHabilidades.Any())
                    {
                        lstHabilidades.ForEach(x => x.tnt_id = entity.tnt_id);
                        bRetorno = CLS_TurmaNotaOrientacaoCurricularBO.SalvarEmLote(lstHabilidades, banco);

                        // Copia as habilidades na avaliacao de recuperacao
                        if (avaRecuperacao.tnt_id > 0)
                        {
                            // Salva as Orientacoes curriculares ligadas a avaliacao - específico para recuperação.
                            lstHabilidades.ForEach(x => x.tnt_id = avaRecuperacao.tnt_id);
                            CLS_TurmaNotaOrientacaoCurricularBO.SalvarEmLote(lstHabilidades, banco);
                        }
                    }

                    #endregion Salva as Orientacoes curriculares ligadas a avaliacao

                    #region Salva a turma Aula

                    if (entityTurmaAula != null)
                    {
                        bRetorno = CLS_TurmaAulaBO.Save(entityTurmaAula, banco);
                    }

                    #endregion Salva a turma Aula

                    // Salva o vinculo com a aula, caso seja regência
                    if (entityTurmaNotaRegencia != null)
                    {
                        entityTurmaNotaRegencia.tnt_id = entity.tnt_id;
                        bRetorno = CLS_TurmaNotaRegenciaBO.Save(entityTurmaNotaRegencia, banco);
                    }

                    if (origemLogNota > 0 && tipoLogNota > 0)
                    {
                        DateTime dataLogNota = DateTime.Now;
                        LOG_TurmaNota_Alteracao entLogNota = new LOG_TurmaNota_Alteracao
                        {
                            tud_id     = entity.tud_id,
                            tnt_id     = entity.tnt_id,
                            usu_id     = usu_id,
                            ltn_origem = origemLogNota,
                            ltn_tipo   = tipoLogNota,
                            ltn_data   = dataLogNota
                        };

                        LOG_TurmaNota_AlteracaoBO.Save(entLogNota, banco);
                    }

                    return(bRetorno);
                }

                throw new ValidationException(GestaoEscolarUtilBO.ErrosValidacao(entity));
            }
            catch (Exception err)
            {
                banco.Close(err);
                throw;
            }
            finally
            {
                banco.Close();
            }
        }
コード例 #10
0
        /// <summary>
        /// Carregar os períodos e seta a visibilidade dos botões de acordo com a permissão do usuário.
        /// </summary>
        public void CarregarPeriodos
        (
            List <sPermissaoDocente> VS_ltPermissaoFrequencia
            , List <sPermissaoDocente> VS_ltPermissaoEfetivacao
            , List <sPermissaoDocente> VS_ltPermissaoPlanejamentoAnual
            , List <sPermissaoDocente> VS_ltPermissaoAvaliacao
            , TUR_TurmaDisciplina VS_turmaDisciplinaRelacionada
            , int esc_id
            , byte tud_tipo
            , byte tdt_posicao           = 0
            , Int64 tur_id               = -1
            , Int64 tud_id               = -1
            , bool incluirPeriodoRecesso = false
            , int tpcIdPendencia         = -1
        )
        {
            // Habilita a visibilidade dos botões alunos e voltar
            VisibleAlunos = !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
            VisibleVoltar = !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_VOLTAR, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            int fav_id = -1;

            if (tur_id > 0 && tud_id > 0 && ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PRE_CARREGAR_CACHE_EFETIVACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
            {
                TUR_Turma entityTurma = new TUR_Turma {
                    tur_id = tur_id
                };
                TUR_TurmaBO.GetEntity(entityTurma);

                ACA_FormatoAvaliacao entityFormato = new ACA_FormatoAvaliacao {
                    fav_id = entityTurma.fav_id
                };
                ACA_FormatoAvaliacaoBO.GetEntity(entityFormato);

                ACA_EscalaAvaliacao entityEscala = new ACA_EscalaAvaliacao {
                    esa_id = entityFormato.esa_idPorDisciplina
                };
                ACA_EscalaAvaliacaoBO.GetEntity(entityEscala);

                ACA_EscalaAvaliacao entityEscalaDocente = new ACA_EscalaAvaliacao {
                    esa_id = entityFormato.esa_idDocente
                };
                ACA_EscalaAvaliacaoBO.GetEntity(entityEscalaDocente);

                TUR_TurmaDisciplina entityTurmaDisciplina = new TUR_TurmaDisciplina {
                    tud_id = tud_id
                };
                TUR_TurmaDisciplinaBO.GetEntity(entityTurmaDisciplina);

                // Valor do conceito global ou por disciplina.
                string valorMinimo = tud_id > 0 ?
                                     entityFormato.valorMinimoAprovacaoPorDisciplina :
                                     entityFormato.valorMinimoAprovacaoConceitoGlobal;

                double notaMinimaAprovacao = 0;
                int    ordemParecerMinimo  = 0;

                EscalaAvaliacaoTipo tipoEscala = (EscalaAvaliacaoTipo)entityEscala.esa_tipo;

                if (tipoEscala == EscalaAvaliacaoTipo.Numerica)
                {
                    notaMinimaAprovacao = Convert.ToDouble(valorMinimo.Replace(',', '.'));
                }
                else if (tipoEscala == EscalaAvaliacaoTipo.Pareceres)
                {
                    ordemParecerMinimo = ACA_EscalaAvaliacaoParecerBO.RetornaOrdem_Parecer(entityEscala.esa_id, valorMinimo, ApplicationWEB.AppMinutosCacheLongo);
                }

                hdnTudId.Value               = tud_id.ToString();
                hdnTurId.Value               = entityTurma.tur_id.ToString();
                hdnFavId.Value               = entityTurma.fav_id.ToString();
                hdnEsaId.Value               = entityEscala.esa_id.ToString();
                hdnTipoEscala.Value          = entityEscala.esa_tipo.ToString();
                hdnTipoEscalaDocente.Value   = entityEscalaDocente.esa_tipo.ToString();
                hdnNotaMinima.Value          = notaMinimaAprovacao.ToString();
                hdnParecerMinimo.Value       = ordemParecerMinimo.ToString();
                hdnTipoLancamento.Value      = entityFormato.fav_tipoLancamentoFrequencia.ToString();
                hdnCalculoQtAulasDadas.Value = entityFormato.fav_calculoQtdeAulasDadas.ToString();
                hdnTurTipo.Value             = entityTurma.tur_tipo.ToString();
                hdnCalId.Value               = entityTurma.cal_id.ToString();
                hdnTudTipo.Value             = entityTurmaDisciplina.tud_tipo.ToString();
                hdnVariacao.Value            = entityFormato.fav_variacao.ToString();
                hdnTipoDocente.Value         = (__SessionWEB.__UsuarioWEB.Docente.doc_id > 0 ?
                                                (byte)ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(tdt_posicao, ApplicationWEB.AppMinutosCacheLongo) : (byte)0).ToString();
                hdnDisciplinaEspecial.Value          = entityTurmaDisciplina.tud_disciplinaEspecial ? "true" : "false";
                hdnFechamentoAutomatico.Value        = entityFormato.fav_fechamentoAutomatico ? "true" : "false";
                hdnProcessarFilaFechamentoTela.Value = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PROCESSAR_FILA_FECHAMENTO_TELA, __SessionWEB.__UsuarioWEB.Usuario.ent_id) ? "true" : "false";

                fav_id = entityFormato.fav_id;
            }

            if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.TELA_UNICA_LANCAMENTO_FREQUENCIA_AVALIACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
            {
                VisibleListao         = VS_ltPermissaoFrequencia.Any(p => p.pdc_permissaoConsulta) || VS_ltPermissaoAvaliacao.Any(p => p.pdc_permissaoConsulta);
                btnFrequencia.Visible = btnAvaliacao.Visible = false;
            }
            else
            {
                VisibleListao         = false;
                btnFrequencia.Visible = VS_ltPermissaoFrequencia.Any(p => p.pdc_permissaoConsulta);
                btnAvaliacao.Visible  = VS_ltPermissaoAvaliacao.Any(p => p.pdc_permissaoConsulta);
            }

            VisibleEfetivacao = tud_tipo != (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada &&
                                VS_ltPermissaoEfetivacao.Any(p => p.pdc_permissaoConsulta) &&
                                !ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.MINHAS_TURMAS_ESCONDER_BOTAO_EFETIVACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            VisiblePlanejamentoAnual = tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada ?
                                       VS_turmaDisciplinaRelacionada != null && VS_turmaDisciplinaRelacionada.tud_naoLancarPlanejamento == false
                                        : VS_ltPermissaoPlanejamentoAnual.Any(p => p.pdc_permissaoConsulta);

            List <Struct_CalendarioPeriodos> lstCalendarioPeriodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo, false, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

            if (incluirPeriodoRecesso)
            {
                VS_CalendarioPeriodo = lstCalendarioPeriodos;
            }
            else
            {
                VS_CalendarioPeriodo = lstCalendarioPeriodos.FindAll(p => p.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id));

                // Se o período selecionado for de recesso,
                // seleciono o bimestre anterior.
                if (VS_tpc_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
                {
                    int indiceRecesso = lstCalendarioPeriodos.FindIndex(p => p.tpc_id == VS_tpc_id);
                    if (indiceRecesso > 0)
                    {
                        Struct_CalendarioPeriodos periodo = lstCalendarioPeriodos[indiceRecesso - 1];
                        VS_tpc_id    = periodo.tpc_id;
                        VS_tpc_ordem = periodo.tpc_ordem;
                    }
                }
            }

            VS_cal_ano = VS_CalendarioPeriodo.Find(p => p.cal_id == VS_cal_id).cal_ano;

            List <ESC_EscolaCalendarioPeriodo> lstEscCalPeriodo = ESC_EscolaCalendarioPeriodoBO.SelectEscolasCalendarioCache(VS_cal_id, ApplicationWEB.AppMinutosCacheCurto);

            VS_CalendarioPeriodo = VS_CalendarioPeriodo.Where(calP => (lstEscCalPeriodo.Where(escP => (escP.esc_id == esc_id && escP.tpc_id == calP.tpc_id)).Count() == 0)).ToList();

            if (VS_IncluirPeriodoFinal)
            {
                Struct_CalendarioPeriodos[] calendarioPeriodosCopy = new Struct_CalendarioPeriodos[VS_CalendarioPeriodo.Count() + 1];
                VS_CalendarioPeriodo.CopyTo(calendarioPeriodosCopy, 0);

                Struct_CalendarioPeriodos periodoFinal = new Struct_CalendarioPeriodos();
                periodoFinal.cap_descricao = periodoFinal.tpc_nomeAbreviado = GetGlobalResourceObject("UserControl", "NavegacaoTelaPeriodo.UCNavegacaoTelaPeriodo.PeriodoFinal").ToString();
                periodoFinal.tpc_id        = -1;
                calendarioPeriodosCopy[VS_CalendarioPeriodo.Count()] = periodoFinal;

                rptPeriodo.DataSource = calendarioPeriodosCopy;
            }
            else
            {
                rptPeriodo.DataSource = VS_CalendarioPeriodo;
            }

            if (fav_id > 0)
            {
                string tpc_id = string.Join(",", VS_CalendarioPeriodo.Select(p => p.tpc_id.ToString()).ToArray());
                ltAvaliacao = ACA_AvaliacaoBO.ConsultaPor_Periodo_Relacionadas(fav_id, tpc_id, ApplicationWEB.AppMinutosCacheLongo);
                if (VS_IncluirPeriodoFinal)
                {
                    ltAvaliacao.AddRange(ACA_AvaliacaoBO.SelectAvaliacaoFinal_PorFormato(fav_id, ApplicationWEB.AppMinutosCacheLongo));
                }
            }

            rptPeriodo.DataBind();

            //Seleciona o ultimo bimestre
            List <Struct_CalendarioPeriodos> tabelaPeriodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo);
            int tpc_idUltimoPeriodo    = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_id : -1;
            int tpc_ordemUltimoPeriodo = tabelaPeriodos.Count > 0 ? tabelaPeriodos.Last().tpc_ordem : 0;

            if (tpcIdPendencia > 0)
            {
                //Busca o bimestre pendente
                Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => x.tpc_id == tpcIdPendencia).FirstOrDefault();
                VS_tpc_id    = periodo.tpc_id;
                VS_tpc_ordem = periodo.tpc_ordem;
            }

            if (VS_tpc_id <= 0 && !VS_IncluirPeriodoFinal)
            {
                //Busca o bimestre corrente
                Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date <= DateTime.Now.Date && x.cap_dataFim.Date >= DateTime.Now.Date)).FirstOrDefault();
                VS_tpc_id    = periodo.tpc_id;
                VS_tpc_ordem = periodo.tpc_ordem;

                if (VS_tpc_id <= 0)
                {
                    //Se não tem bimestre selecionado e nem bimestre corrente então seleciona o próximo corrente
                    periodo      = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date >= DateTime.Now.Date)).FirstOrDefault();
                    VS_tpc_id    = periodo.tpc_id;
                    VS_tpc_ordem = periodo.tpc_ordem;

                    if (VS_tpc_id <= 0)
                    {
                        //Se não tem bimestre selecionado então seleciona o ultimo
                        VS_tpc_id    = tpc_idUltimoPeriodo;
                        VS_tpc_ordem = tpc_ordemUltimoPeriodo;
                    }
                }
            }

            if (VS_tpc_id >= 0 && VS_IncluirPeriodoFinal)
            {
                if (VS_tpc_id == tpc_idUltimoPeriodo)
                {
                    // Se for o ultimo periodo e a avaliacao final estiver aberta,
                    // selecionar a avaliacao final
                    List <ACA_Evento> listaEventos = ACA_EventoBO.GetEntity_Efetivacao_List(VS_cal_id, tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, true, __SessionWEB.__UsuarioWEB.Docente.doc_id);
                    if (listaEventos.Exists(p => p.tev_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id)))
                    {
                        VS_tpc_id    = -1;
                        VS_tpc_ordem = 0;
                    }
                }

                if (VS_tpc_id == 0)
                {
                    //Se não tem bimestre selecionado e nem bimestre corrente então seleciona o próximo corrente
                    Struct_CalendarioPeriodos periodo = VS_CalendarioPeriodo.Where(x => (x.cap_dataInicio.Date >= DateTime.Now.Date)).FirstOrDefault();
                    VS_tpc_id    = periodo.tpc_id;
                    VS_tpc_ordem = periodo.tpc_ordem;

                    if (VS_tpc_id <= 0)
                    {
                        //Se não tem bimestre selecionado então seleciona o final
                        VS_tpc_id    = -1;
                        VS_tpc_ordem = 0;
                    }
                }
            }

            if (VS_tpc_ordem < 0)
            {
                VS_tpc_ordem = 0;
            }

            // Seleciona o botão do bimestre informado (VS_tpc_id)
            rptPeriodo.Items.Cast <RepeaterItem>().ToList()
            .Select(p => (Button)p.FindControl("btnPeriodo"))
            .ToList().ForEach(p => RemoveClass(p, "periodo_selecionado"));
            rptPeriodo.Items.Cast <RepeaterItem>().ToList()
            .Where(p => Convert.ToInt32(((HiddenField)p.FindControl("hdnPeriodo")).Value) == VS_tpc_id &&
                   Convert.ToInt32(((HiddenField)p.FindControl("hdnPeriodoOrdem")).Value) == VS_tpc_ordem)
            .Select(p => (Button)p.FindControl("btnPeriodo"))
            .ToList()
            .ForEach
            (
                p =>
            {
                AddClass(p, "periodo_selecionado");
                HiddenField hdn = (HiddenField)p.FindControl("hdnIdAvaliacao");
                if (!string.IsNullOrEmpty(hdn.Value))
                {
                    hdnAvaId.Value = hdn.Value;
                }

                hdn = (HiddenField)p.FindControl("hdnAvaliacaoTipo");
                if (!string.IsNullOrEmpty(hdn.Value))
                {
                    hdnTipoAvaliacao.Value = hdn.Value;
                }


                hdnTpcId.Value = VS_tpc_id.ToString();

                hdn = (HiddenField)p.FindControl("hdnPeriodoOrdem");
                if (!string.IsNullOrEmpty(hdn.Value))
                {
                    hdnTpcOrdem.Value = hdn.Value;
                }
            }
            );
        }
コード例 #11
0
ファイル: Cadastro.aspx.cs プロジェクト: Mualumene/SGP
        protected void Page_Load(object sender, EventArgs e)
        {
            ScriptManager sm = ScriptManager.GetCurrent(this);

            if (sm != null)
            {
                sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmExclusao));
                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("~/Includes/jsCadastroRelatorioRP.js"));
            }

            if (!IsPostBack)
            {
                if (Session["PaginaRetorno_RelatorioRP"] != null)
                {
                    try
                    {
                        VS_PaginaRetorno = Session["PaginaRetorno_RelatorioRP"].ToString();
                        Session.Remove("PaginaRetorno_RelatorioRP");
                        VS_DadosPaginaRetorno = Session["DadosPaginaRetorno"];
                        Session.Remove("DadosPaginaRetorno");
                        VS_DadosPaginaRetorno_MinhasTurmas = Session["VS_DadosTurmas"];
                        Session.Remove("VS_DadosTurmas");

                        Dictionary <string, string> listaDados = (Dictionary <string, string>)VS_DadosPaginaRetorno;
                        bool eletiva = Convert.ToByte(listaDados["Edit_tur_tipo"]) == (byte)TUR_TurmaTipo.EletivaAluno;
                        long tur_id  = Convert.ToInt64(listaDados["Edit_tur_id"]);
                        long tud_id  = Convert.ToInt64(listaDados["Tud_idRetorno_ControleTurma"]);
                        VS_disciplinaRP = eletiva;

                        VS_alu_id = Convert.ToInt64(Session["alu_id_RelatorioRP"]);
                        Session.Remove("alu_id_RelatorioRP");

                        VS_Tpc_id_TelaAnterior = Convert.ToInt32(listaDados["Edit_tpc_id"]);

                        UCCRelatorioAtendimento.PermiteEditar = false;
                        fdsLancamento.Visible = false;
                        btnNovo.Visible       = false;

                        // Carregar o combo de disciplinas
                        List <sDisciplinas> lstDisciplinas = new List <sDisciplinas>();
                        if (eletiva)
                        {
                            TUR_Turma turma = TUR_TurmaBO.GetEntity(new TUR_Turma {
                                tur_id = tur_id
                            });
                            TUR_TurmaDisciplina turmaDisciplina = TUR_TurmaDisciplinaBO.GetEntity(new TUR_TurmaDisciplina {
                                tud_id = tud_id
                            });

                            sDisciplinas disciplina = new sDisciplinas {
                                tud_nome = string.Format("{0} - {1}", turma.tur_codigo, turmaDisciplina.tud_nome), tur_tud_id = string.Format("{0};{1}", tur_id, tud_id)
                            };
                            lstDisciplinas.Add(disciplina);
                        }
                        else
                        {
                            int strTdsId = Convert.ToInt32(Session["tds_id_RelatorioRP"]);
                            Session.Remove("tds_id_RelatorioRP");

                            List <Struct_PreenchimentoAluno> lstAlunosRelatorioRP = CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.SelecionaAlunoPreenchimentoPorPeriodoDisciplina(UCCPeriodoCalendario.Tpc_ID, tur_id, tud_id, ApplicationWEB.AppMinutosCacheMedio);
                            lstAlunosRelatorioRP.FindAll(p => p.alu_id == VS_alu_id && (strTdsId <= 0 || p.tds_idRelacionada == strTdsId)).ForEach(
                                p =>
                            {
                                sDisciplinas disciplina = new sDisciplinas {
                                    tud_nome = string.Format("{0} - {1}", p.tur_codigo, p.tud_nome), tur_tud_id = string.Format("{0};{1}", p.tur_id, p.tud_id)
                                };
                                lstDisciplinas.Add(disciplina);
                            });
                        }
                        ddlDisciplina.DataSource = lstDisciplinas;
                        ddlDisciplina.Items.Insert(0, new ListItem(string.Format("-- Selecione um(a) {0} --", GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA").ToString()), "-1;-1", true));
                        ddlDisciplina.DataBind();

                        if (ddlDisciplina.Items.Count == 2)
                        {
                            // Seleciona o único item
                            ddlDisciplina.SelectedIndex = 1;
                            ddlDisciplina_SelectedIndexChanged(null, null);
                        }
                    }
                    catch (Exception ex)
                    {
                        ApplicationWEB._GravaErro(ex);
                        lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar relatórios.", UtilBO.TipoMensagem.Erro);
                    }
                }
            }

            UCCRelatorioAtendimento.IndexChanged += UCCRelatorioAtendimento_IndexChanged;
            UCCPeriodoCalendario.IndexChanged    += UCCPeriodoCalendario_IndexChanged;

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

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

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

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

            if (!Convert.ToString(btnCancelarBaixo.CssClass).Contains("btnMensagemUnload"))
            {
                btnCancelarBaixo.CssClass += " btnMensagemUnload";
            }
        }
コード例 #12
0
        /// <summary>
        /// Carrega dados da turma na tela para alteração.
        /// </summary>
        /// <param name="tur_id">ID da turma</param>
        private void CarregarDadosAlteracao(long tur_id)
        {
            try
            {
                VS_tur_id = tur_id;
                // Carregar entidades.
                TUR_Turma entTurma = new TUR_Turma {
                    tur_id = tur_id
                };
                TUR_TurmaBO.GetEntity(entTurma);

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

                if (!ValidaDadosTurma(entTurma, entEscola))
                {
                    return;
                }

                uccFiltroEscola.Uad_ID = entEscola.uad_idSuperiorGestao;
                uccFiltroEscola_IndexChangedUA();
                uccFiltroEscola.SelectedValueEscolas = new[] { entTurma.esc_id, entTurma.uni_id };
                uccFiltroEscola_IndexChangedUnidadeEscola();
                uccCalendario.Valor = entTurma.cal_id;

                DtVigenciasDocentes = TUR_TurmaDocenteBO.SelecionaVigenciasDocentesPorDisciplina(tur_id);

                VS_ListaCurriculoDisciplina = new List <ACA_CurriculoDisciplina>();
                DataTable dt = TUR_TurmaDisciplinaBO.SelecionarTurmaDisciplina_CurriculoDisciplina_By_Turma(tur_id);
                for (int row = 0; row < dt.Rows.Count; row++)
                {
                    ACA_CurriculoDisciplina obj = new ACA_CurriculoDisciplina();
                    obj.dis_nome      = dt.Rows[row]["dis_nome"].ToString();
                    obj.cur_nome      = dt.Rows[row]["cur_nome"].ToString();
                    obj.crp_descricao = dt.Rows[row]["crp_descricao"].ToString();
                    obj.crp_id        = (int)dt.Rows[row]["crp_id"];
                    obj.crr_id        = (int)dt.Rows[row]["crr_id"];
                    obj.cur_id        = (int)dt.Rows[row]["cur_id"];
                    obj.dis_id        = (int)dt.Rows[row]["dis_id"];
                    obj.tds_id        = (int)dt.Rows[row]["tds_id"];
                    obj.IsNew         = false;
                    VS_ListaCurriculoDisciplina.Add(obj);
                }

                divDiciplinas.Visible = true;
                AdicionaVazio();
                grvDiciplinas.DataSource = VS_ListaCurriculoDisciplina;
                grvDiciplinas.DataBind();

                uccFormatoAvaliacao.CarregarFormatoPorFormatoPadraoAtivo(entTurma.fav_id);
                uccFormatoAvaliacao.Valor = entTurma.fav_id;

                txtCodigoTurma.Text = entTurma.tur_codigo;
                txtCodigoInep.Text  = entTurma.tur_codigoInep;
                txtCapacidade.Text  = entTurma.tur_vagas.ToString();

                if (dt.Rows.Count > 0)
                {
                    // Carga horária semanal da disciplina.
                    txtAulasSemanais.Text = dt.Rows[0]["tud_cargaHorariaSemanal"].ToString();

                    string nomeDocente = string.Empty;
                    if (!string.IsNullOrEmpty(dt.Rows[0]["doc_id"].ToString()))
                    {
                        DataTable informacoesDocente =
                            ACA_DocenteBO.SelecionaPorColaboradorDocente(
                                Convert.ToInt64(dt.Rows[0]["col_id"]),
                                Convert.ToInt64(dt.Rows[0]["doc_id"]));
                        nomeDocente = informacoesDocente.Rows[0]["pes_nome"].ToString();
                    }

                    VS_tud_id = Convert.ToInt64(dt.Rows[0]["tud_id"]);
                    //VS_tdt_id = (int)dt.Rows[0]["tdt_id"];
                    divDocente.Visible = true;

                    dtDocentes = new DataTable();
                    dtDocentes.Columns.Add("posicao");
                    dtDocentes.Columns.Add("tud_id");
                    dtDocentes.Columns.Add("qtdedocentes");
                    dtDocentes.Columns.Add("tds_id");

                    for (int i = 1; i <= QtdeDocentes; i++)
                    {
                        DataRow dr = dtDocentes.NewRow();
                        dr["posicao"]      = i;
                        dr["tud_id"]       = VS_tud_id;
                        dr["qtdedocentes"] = QtdeDocentes;
                        dr["tds_id"]       = Convert.ToInt32(dt.Rows[0]["tds_id"]);
                        dtDocentes.Rows.Add(dr);
                    }

                    bloqueioAtribuicao      = false;
                    esc_id                  = entTurma.esc_id;
                    uni_id                  = entTurma.uni_id;
                    tds_id                  = Convert.ToInt32(dt.Rows[0]["tds_id"]);
                    buscaDocente            = true;
                    tur_docenteEspecialista = entTurma.tur_docenteEspecialista;

                    rptDocentes.DataSource = dtDocentes;
                    rptDocentes.DataBind();
                }

                uccTurno.Valor = entTurma.trn_id;

                if (entTurma.tur_participaRodizio)
                {
                    chkRodizio.Checked = true;
                }

                ddlSituacao.SelectedValue = entTurma.tur_situacao.ToString();

                DesabilitaDadosAlteracao();

                RegistraScriptConfirmacao(entTurma);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a turma multisseriada.", UtilBO.TipoMensagem.Erro);
            }
        }
コード例 #13
0
        /// <summary>
        /// Carrega dados da turma na tela para alteração.
        /// </summary>
        /// <param name="tur_id">ID da turma</param>
        private void CarregarDadosAlteracao(long tur_id)
        {
            try
            {
                VS_tur_id = tur_id;

                // Carregar entidades.
                TUR_Turma entTurma = new TUR_Turma {
                    tur_id = tur_id
                };
                TUR_TurmaBO.GetEntity(entTurma);

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

                DtVigenciasDocentes = TUR_TurmaDocenteBO.SelecionaVigenciasDocentesPorDisciplina(entTurma.tur_id);

                List <TUR_TurmaCurriculo>      listaCurriculos  = TUR_TurmaCurriculoBO.GetSelectBy_Turma(entTurma.tur_id, ApplicationWEB.AppMinutosCacheLongo);
                List <CadastroTurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectCadastradosBy_Turma(tur_id);

                if (!ValidaDadosTurma(entTurma, entEscola, listaCurriculos, listaDisciplinas))
                {
                    return;
                }

                uccFiltroEscola.Uad_ID = entEscola.uad_idSuperior;
                uccFiltroEscola_IndexChangedUA();

                uccFiltroEscola.SelectedValueEscolas = new[] { entTurma.esc_id, entTurma.uni_id };

                uccFiltroEscola_IndexChangedUnidadeEscola();

                int cur_id = listaCurriculos[0].cur_id;
                int crr_id = listaCurriculos[0].crr_id;

                uccCursoCurriculo.Valor = new[] { cur_id, crr_id };
                UCComboCursoCurriculo1_IndexChanged();

                uccCalendario.Valor = entTurma.cal_id;
                UCComboCalendario1_IndexChanged();

                VS_tud_id = listaDisciplinas[0].entTurmaDisciplina.tud_id;
                VS_tdt_id = listaDisciplinas[0].entTurmaDocente.tdt_id;

                uccDisciplina.Valor = listaDisciplinas[0].entTurmaDiscRelDisciplina.dis_id;

                UCComboDisciplina1_OnSelectedIndexChanged();

                uccFormatoAvaliacao.CarregarFormatoPorFormatoPadraoAtivo(entTurma.fav_id);
                uccFormatoAvaliacao.Valor = entTurma.fav_id;
                UCComboFormatoAvaliacao1_IndexChanged();

                txtCodigoTurma.Text        = entTurma.tur_codigo;
                txtCodigoInep.Text         = entTurma.tur_codigoInep;
                txtCapacidade.Text         = entTurma.tur_vagas.ToString();
                txtMinimoMatriculados.Text = entTurma.tur_minimoMatriculados.ToString();

                // Carga horária semanal da disciplina.
                txtAulasSemanais.Text = listaDisciplinas[0].entTurmaDisciplina.tud_cargaHorariaSemanal.ToString();

                foreach (ListItem item in chkPeriodosCurso.Items)
                {
                    int crp_id = Convert.ToInt32(item.Value);

                    item.Selected = listaCurriculos.Exists(p => p.crp_id == crp_id);
                }

                foreach (ListItem item in chkPeriodosCalendario.Items)
                {
                    int tpc_id = Convert.ToInt32(item.Value);

                    item.Selected = listaDisciplinas[0].entTurmaCalendario.Exists(p => p.tpc_id == tpc_id);
                }

                ACA_Disciplina entDis = new ACA_Disciplina
                {
                    dis_id = listaDisciplinas[0].entTurmaDiscRelDisciplina.dis_id
                };
                ACA_DisciplinaBO.GetEntity(entDis);

                DataTable informacoesDocente =
                    ACA_DocenteBO.SelecionaPorColaboradorDocente(
                        listaDisciplinas[0].entTurmaDocente.col_id,
                        listaDisciplinas[0].entTurmaDocente.doc_id);

                bool bloqueioAtribuicao = false;

                divDocente.Visible = true;
                if (informacoesDocente.Rows.Count > 0)
                {
                    UCControleVigenciaDocentes.CarregarDocente(
                        informacoesDocente.Rows[0]["pes_nome"].ToString(),
                        1,
                        1,
                        VS_tud_id,
                        ref dtDocentes,
                        entDis.tds_id,
                        entTurma.esc_id,
                        entTurma.uni_id,
                        entTurma.tur_docenteEspecialista
                        , bloqueioAtribuicao
                        , ref DtVigenciasDocentes);
                }

                // Verifica se possui parametros de formacao
                MTR_ParametroFormacaoTurma entityFormacao = MTR_ParametroFormacaoTurmaBO.SelecionaParametroPorAnoCurso(cur_id, crr_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                if (entityFormacao != null)
                {
                    uccTurno.CarregarTurnoPorParametroPeriodo(entityFormacao);
                }
                else
                {
                    uccTurno.CarregarTurnoPorTurnoAtivo(entTurma.trn_id);
                }

                uccTurno.Valor = entTurma.trn_id;

                if (entTurma.tur_participaRodizio)
                {
                    chkRodizio.Checked = true;
                }

                if (entTurma.tur_situacao == (byte)TUR_TurmaSituacao.Aguardando)
                {
                    ddlSituacao.Items.Add(new ListItem("Aguardando", ((byte)TUR_TurmaSituacao.Aguardando).ToString()));
                }
                ddlSituacao.SelectedValue = entTurma.tur_situacao.ToString();

                DesabilitaDadosAlteracao(entityFormacao);

                RegistraScriptConfirmacao(entTurma);
            }
            catch (ValidationException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a turma de eletiva.", UtilBO.TipoMensagem.Erro);
            }
        }
コード例 #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ScriptManager sm = ScriptManager.GetCurrent(this);

            if (sm != null)
            {
                sm.Scripts.Add(new ScriptReference(ArquivoJS.JQueryValidation));
                sm.Scripts.Add(new ScriptReference(ArquivoJS.JqueryMask));
                sm.Scripts.Add(new ScriptReference(ArquivoJS.MascarasCampos));
            }

            // Seta o metodo criado no delegate ao evento do componente
            UCComboUAEscola.IndexChangedUnidadeEscola += UCComboUAEscola_IndexChangedUnidadeEscola;
            UCComboUAEscola.IndexChangedUA            += UCComboUAEscola_IndexChangedUA;
            UCComboCalendario.IndexChanged            += UCComboCalendario_IndexChanged;
            UCCCursoCurriculo.IndexChanged            += UCCCursoCurriculo_IndexChanged;
            UCCTurmaDisciplina1.IndexChanged          += UCComboTurmaDisciplina_IndexChanged;
            UCCPeriodoCalendario.IndexChanged         += UCCPeriodoCalendario_IndexChanged;

            if (!IsPostBack)
            {
                try
                {
                    ddlTurma.Items.Insert(0, new ListItem("-- Selecione uma turma --", "-1", true));
                    //Esconde o botão salvar
                    btnSalvar.Visible = false;

                    if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Individual)
                    {
                        // Busca o doc_id do usuário logado.
                        if (__SessionWEB.__UsuarioWEB.Docente.doc_id > 0)
                        {
                            //Seta o docente
                            _VS_doc_id = __SessionWEB.__UsuarioWEB.Docente.doc_id;

                            //Esconde os campos não visíveis para docentes
                            UCCCursoCurriculo.Visible = false;
                            ddlTurma.Enabled          = false;

                            //Carrega as escolas no combo
                            UCComboUAEscola.InicializarVisaoIndividual(_VS_doc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                            if (UCComboUAEscola.QuantidadeItemsComboEscolas == 2)
                            {
                                ddlTurma.Enabled = true;
                                InicializaCamposCadastroVisaoIndividual(UCComboUAEscola.Esc_ID);
                            }
                            else
                            {
                                InicializaCamposCadastroVisaoIndividual(0);
                            }
                        }
                        else
                        {
                            divPesquisa.Visible = false;
                            lblMessage.Text     = UtilBO.GetErroMessage("Essa tela é exclusiva para docentes.", UtilBO.TipoMensagem.Alerta);
                        }
                    }
                    else
                    {
                        //Inicializa os campos de cadastro
                        InicializaCamposCadastro();
                    }

                    bool docente = _VS_doc_id > 0;

                    if (PreviousPage != null && PreviousPage.IsCrossPagePostBack)
                    {
                        long[] pp = PreviousPage.Edit_cpa_id;
                        Carregar(pp[0], pp[1]);
                        //Exibe o botão salvar nas alterações
                        btnSalvar.Visible = (__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar ||
                                             __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_inserir) && mostraSalvar;
                    }
                    else if (Session["PaginaRetorno_CompensacaoAusencia"] != null)
                    {
                        VS_PaginaRetorno = Session["PaginaRetorno_CompensacaoAusencia"].ToString();
                        Session.Remove("PaginaRetorno_CompensacaoAusencia");
                        VS_DadosPaginaRetorno = Session["DadosPaginaRetorno"];
                        Session.Remove("DadosPaginaRetorno");

                        VS_DadosPaginaRetorno_MinhasTurmas = Session["VS_DadosTurmas"];
                        Session.Remove("VS_DadosTurmas");

                        if (docente)
                        {
                            Dictionary <string, string> dadosPaginaRetorno = (Dictionary <string, string>)VS_DadosPaginaRetorno;

                            if (UCComboUAEscola.QuantidadeItemsComboEscolas != 2)
                            {
                                UCComboUAEscola.SelectedValueEscolas = new int[] { Convert.ToInt32(dadosPaginaRetorno["Edit_esc_id"]), Convert.ToInt32(dadosPaginaRetorno["Edit_uni_id"]) };
                                InicializaCamposCadastroVisaoIndividual(UCComboUAEscola.Esc_ID);
                                UCComboUAEscola_IndexChangedUnidadeEscola();
                            }

                            UCComboCalendario.Valor = Convert.ToInt32(dadosPaginaRetorno["Edit_cal_id"]);
                            UCComboCalendario_IndexChanged();
                            UCComboCalendario.PermiteEditar = false;

                            ddlTurma.SelectedValue = dadosPaginaRetorno["Edit_tur_id"];
                            ddlTurma_SelectedIndexChanged(null, null);
                            ddlTurma.Enabled = false;

                            if (UCComboUAEscola.Esc_ID == -1)
                            {
                                TUR_Turma tur = TUR_TurmaBO.GetEntity(new TUR_Turma {
                                    tur_id = Convert.ToInt64(dadosPaginaRetorno["Edit_tur_id"])
                                });
                                UCComboUAEscola.SelectedValueEscolas = new[] { tur.esc_id, tur.uni_id };
                                UCComboUAEscola.PermiteAlterarCombos = false;
                            }

                            UCCTurmaDisciplina1.Valor = Convert.ToInt64(dadosPaginaRetorno["Tud_idRetorno_ControleTurma"]);
                            UCComboTurmaDisciplina_IndexChanged();
                            UCCTurmaDisciplina1.PermiteEditar = false;

                            //Não tem períodos abertos para lançar compensação, retornar para tela anterior.
                            if (UCCPeriodoCalendario.QuantidadeItensCombo == 1)
                            {
                                __SessionWEB.PostMessages =
                                    UtilBO.GetErroMessage
                                        ("Não é possível criar compensação, pois o bimestre não está aberto para edição."
                                        , UtilBO.TipoMensagem.Alerta);
                                VerificaPaginaRedirecionar();
                            }
                        }
                        else
                        {
                            // Se veio da tela de Minhas turmas e não é docente, redireciona pra busca.
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage("Operação exclusiva para docentes.", UtilBO.TipoMensagem.Alerta);
                            Response.Redirect("~/Classe/CompensacaoAusencia/Busca.aspx", false);
                            HttpContext.Current.ApplicationInstance.CompleteRequest();
                        }
                    }

                    if (docente)
                    {
                        Page.Form.DefaultFocus = UCCPeriodoCalendario.ClientID_Combo;
                    }
                    else
                    {
                        Page.Form.DefaultFocus = UCComboUAEscola.ComboUA_ClientID;
                    }

                    Page.Form.DefaultButton = btnSalvar.UniqueID;

                    //Nesse ponto, verifico a permissão apenas de alteração
                    if (VS_cpa_id > 0)
                    {
                        btnSalvar.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar && mostraSalvar;
                    }
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
                }
            }
        }
コード例 #15
0
ファイル: Cadastro.aspx.cs プロジェクト: Mualumene/SGP
    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;
    }
コード例 #16
0
        /// <summary>
        /// Retorna nas 2 variáveis se a movimentação está no período válido, para o curso e ano letivo
        /// informados (através da matrícula do aluno).
        /// </summary>
        /// <param name="tur_id">ID da turma</param>
        /// <param name="cur_id">ID do curso</param>
        /// <param name="crr_id">ID do curriculo do curso</param>
        /// <param name="tmo_id">ID do tipo de movimentação</param>
        /// <param name="dataComparar">Data para comparação do momento</param>
        /// <param name="bancoGestao">Transação com banco - obrigatório</param>
        /// <param name="estaInicioMovimentacao">OUT - retorna se está no período de início de movimentação</param>
        /// <param name="estaFechamentoMovimentacao">OUT - retorna se está no período de fechamento de movimentação</param>
        /// <param name="listasFechamentoMatricula">Listas carregadas com dados do fechamento de matrícula</param>
        public static void VerificaPeriodoValidoMovimentacao
        (
            long tur_id
            , int cur_id
            , int crr_id
            , int tmo_id
            , DateTime dataComparar
            , TalkDBTransaction bancoGestao
            , out bool estaInicioMovimentacao
            , out bool estaFechamentoMovimentacao
            , FormacaoTurmaBO.ListasFechamentoMatricula listasFechamentoMatricula = null
        )
        {
            TUR_Turma entTur = null;

            if (listasFechamentoMatricula != null && listasFechamentoMatricula.listTurma != null)
            {
                // Busca a entidade da lista de fechamento de matrícula.
                entTur = listasFechamentoMatricula.listTurma.Find(p => p.tur_id == tur_id);
            }

            if (entTur == null)
            {
                entTur = new TUR_Turma
                {
                    tur_id = tur_id
                };
                TUR_TurmaBO.GetEntity(entTur, bancoGestao);
            }

            ACA_CalendarioAnual entCalendario = null;

            if (listasFechamentoMatricula != null && listasFechamentoMatricula.listCalendarios != null)
            {
                // Busca a entidade da lista de fechamento de matrícula.
                entCalendario = listasFechamentoMatricula.listCalendarios.Find(p => p.cal_id == entTur.cal_id);
            }

            if (entCalendario == null)
            {
                entCalendario = new ACA_CalendarioAnual
                {
                    cal_id = entTur.cal_id
                };
                ACA_CalendarioAnualBO.GetEntity(entCalendario, bancoGestao);
            }

            int mom_ano = entCalendario.cal_ano;

            MTR_TipoMovimentacaoDAO dao = new MTR_TipoMovimentacaoDAO {
                _Banco = bancoGestao
            };
            DataTable dt = dao.SelectBy_PeriodoValido_Curso(cur_id, crr_id, tmo_id, mom_ano, dataComparar);

            if (dt.Rows.Count > 0)
            {
                if (!String.IsNullOrEmpty(dt.Rows[0]["IsPeriodoInicioProcesso"].ToString()))
                {
                    estaInicioMovimentacao = Convert.ToBoolean(dt.Rows[0]["IsPeriodoInicioProcesso"]);
                }
                else
                {
                    estaInicioMovimentacao = false;
                }

                if (!String.IsNullOrEmpty(dt.Rows[0]["IsPeriodoFimProcesso"].ToString()))
                {
                    estaFechamentoMovimentacao = Convert.ToBoolean(dt.Rows[0]["IsPeriodoFimProcesso"]);
                }
                else
                {
                    estaFechamentoMovimentacao = false;
                }
            }
            else
            {
                estaInicioMovimentacao     = false;
                estaFechamentoMovimentacao = false;
            }
        }
コード例 #17
0
        /// <summary>
        /// Salva as entidades turmaAula e TurmaAulaAluno nas listas - com transação.
        /// </summary>
        /// <param name="listTurmaAulaAluno">Lista de entidades CLS_TurmaAulaAluno</param>
        /// <param name="listTurmaAula">LIsta de entidades CLS_TurmaAula</param>
        /// <param name="tur_id">ID da turma</param>
        /// <param name="tud_id">ID da disciplina que está sendo salva as frequências</param>
        /// <param name="tdt_posicao">Posição do docente logado no sistema</param>
        /// <param name="entityTurma">Turma.</param>
        /// <param name="entityFormatoAvaliacao">Formato de avaliação.</param>
        /// <param name="entityCurriculoPeriodo">CurriculoPeriodo.</param>
        /// <param name="banco">Transação com banco de dados aberta</param>
        /// <returns></returns>
        internal static bool Save
        (
            List <CLS_TurmaAulaAluno> listTurmaAulaAluno
            , List <CLS_TurmaAula> listTurmaAula
            , long tur_id
            , long tud_id
            , byte tdt_posicao
            , TUR_Turma entityTurma
            , ACA_FormatoAvaliacao entityFormatoAvaliacao
            , ACA_CurriculoPeriodo entityCurriculoPeriodo
            , TalkDBTransaction banco
            , Guid usu_id        = new Guid()
            , byte origemLogAula = 0
            , byte tipoLogAula   = 0
            , Guid ent_id        = new Guid()
        )
        {
            string tau_ids = string.Join(",",
                                         (from CLS_TurmaAula item in listTurmaAula select item.tau_id.ToString()).
                                         ToArray());

            // Recupera a lista de entidades CLS_TurmaAulaAluno para verificar se ela já existe.
            List <CLS_TurmaAulaAluno> listaTurmaAulaAluno = new CLS_TurmaAulaAlunoDAO {
                _Banco = banco
            }
            .SelectBy_Disciplina_Aulas(tud_id, tau_ids);

            DataTable dtTurmaAulaAluno = CLS_TurmaAulaAluno.TipoTabela_TurmaAulaAluno();
            List <LOG_TurmaAula_Alteracao> listLogAula = new List <LOG_TurmaAula_Alteracao>();

            object lockObject = new object();

            Parallel.ForEach
            (
                listTurmaAulaAluno,
                entityTurmaAulaAluno =>
            {
                // Busca se a entidade já existe na lista.
                CLS_TurmaAulaAluno entAux =
                    listaTurmaAulaAluno.Find(p =>
                                             p.tud_id == entityTurmaAulaAluno.tud_id &&
                                             p.tau_id == entityTurmaAulaAluno.tau_id &&
                                             p.alu_id == entityTurmaAulaAluno.alu_id &&
                                             p.mtu_id == entityTurmaAulaAluno.mtu_id &&
                                             p.mtd_id == entityTurmaAulaAluno.mtd_id
                                             );

                if (entAux != null)
                {
                    entityTurmaAulaAluno.IsNew        = entAux.IsNew;
                    entityTurmaAulaAluno.taa_anotacao = entAux.taa_anotacao;

                    entityTurmaAulaAluno.usu_idDocenteAlteracao = entAux.usu_idDocenteAlteracao;
                }

                Validate(entityTurmaAulaAluno, listTurmaAula);

                if (entityTurmaAulaAluno.Validate())
                {
                    lock (lockObject)
                    {
                        DataRow dr = dtTurmaAulaAluno.NewRow();
                        dtTurmaAulaAluno.Rows.Add(TurmaAulaAlunoToDataRow(entityTurmaAulaAluno, dr));
                    }
                }
                else
                {
                    throw new ValidationException(GestaoEscolarUtilBO.ErrosValidacao(entityTurmaAulaAluno));
                }
            }
            );

            // Salva os dados de todos os alunos na tabela CLS_TurmaAulaAluno
            SalvaFrequenciaAlunos(dtTurmaAulaAluno, banco);

            // Verifica se a entidade recebida por parâmetro foi alimentada, se não foi, dá o GetEntity.
            TUR_Turma turma = entityTurma ?? TUR_TurmaBO.GetEntity(new TUR_Turma {
                tur_id = tur_id
            }, banco);
            ACA_FormatoAvaliacao formatoAvaliacao = entityFormatoAvaliacao ?? ACA_FormatoAvaliacaoBO.GetEntity(new ACA_FormatoAvaliacao {
                fav_id = turma.fav_id
            }, banco);
            ACA_CurriculoPeriodo entityCrp = entityCurriculoPeriodo ?? ACA_CurriculoPeriodoBO.SelecionaPorTurmaTipoNormal(turma.tur_id, GestaoEscolarUtilBO.MinutosCacheLongo);

            List <TUR_TurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, banco, GestaoEscolarUtilBO.MinutosCacheLongo);

            TUR_TurmaDisciplina entDisciplinarincipal =
                listaDisciplinas.Find(p => p.tud_tipo == (byte)TurmaDisciplinaTipo.DisciplinaPrincipal);

            // Se não for para lançar na disciplina global, e a turma possuir uma disc. principal,
            // só poderá salvar na disciplina principal.
            bool validarDiscPrincipal =
                (!(turma.tur_docenteEspecialista && formatoAvaliacao.fav_planejamentoAulasNotasConjunto)) &&
                (entDisciplinarincipal != null) && (formatoAvaliacao.fav_tipoApuracaoFrequencia != (byte)ACA_FormatoAvaliacaoTipoApuracaoFrequencia.Dia &&
                                                    entityCrp.crp_controleTempo != (byte)ACA_CurriculoPeriodoControleTempo.Horas);

            DateTime dataLogAula = DateTime.Now;

            foreach (CLS_TurmaAula entityTurmaAula in listTurmaAula)
            {
                // Se for pra validar a disc. principal, só pode lançar frequência nela.
                if (validarDiscPrincipal && (entDisciplinarincipal.tud_id != entityTurmaAula.tud_id))
                {
                    throw new ValidationException("A frequência dessa turma só pode ser lançada para o(a) " + CustomResource.GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + entDisciplinarincipal.tud_nome + ".");
                }

                if (origemLogAula > 0)
                {
                    LOG_TurmaAula_Alteracao entLogAula = new LOG_TurmaAula_Alteracao
                    {
                        tud_id     = entityTurmaAula.tud_id,
                        tau_id     = entityTurmaAula.tau_id,
                        usu_id     = usu_id,
                        lta_origem = origemLogAula,
                        lta_tipo   = tipoLogAula,
                        lta_data   = dataLogAula
                    };

                    listLogAula.Add(entLogAula);
                }
            }

            //Salva os logs de alteração de aula
            LOG_TurmaAula_AlteracaoBO.SalvarEmLote(listLogAula, banco);

            // Atualiza o campo efetivado da aula.
            CLS_TurmaAulaBO.AtualizarEfetivado(listTurmaAula, banco);

            // Caso o fechamento seja automático, grava na fila de processamento.
            if (formatoAvaliacao.fav_fechamentoAutomatico && listTurmaAula.Count > 0 && listTurmaAula[0].tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id))
            {
                CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(tud_id, listTurmaAula[0].tpc_id, banco);
            }

            if (listTurmaAula.Any() && dtTurmaAulaAluno.Rows.Count > 0 && HttpContext.Current != null)
            {
                // Limpa o cache do fechamento
                try
                {
                    string chave  = string.Empty;
                    int    tpc_id = listTurmaAula[0].tpc_id;
                    List <ACA_Avaliacao> avaliacao = ACA_AvaliacaoBO.GetSelectBy_FormatoAvaliacaoPeriodo(turma.fav_id, tpc_id);

                    if (avaliacao.Any())
                    {
                        int ava_id = avaliacao.First().ava_id;
                        if (tud_id > 0)
                        {
                            chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodo(tud_id, turma.fav_id, ava_id, string.Empty);
                            CacheManager.Factory.RemoveByPattern(chave);

                            chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodoFiltroDeficiencia(tud_id, turma.fav_id, ava_id, string.Empty);
                            CacheManager.Factory.RemoveByPattern(chave);
                        }
                        else
                        {
                            chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Periodo(tur_id, turma.fav_id, ava_id);
                            HttpContext.Current.Cache.Remove(chave);
                        }
                    }
                }
                catch
                { }
            }

            return(true);
        }
コード例 #18
0
        private void UCComboTurmaDisciplina_IndexChanged()
        {
            try
            {
                UCCPeriodoCalendario.Valor         = new[] { -1, -1 };
                UCCPeriodoCalendario.PermiteEditar = false;
                // utilizado para evitar chamar o evento de alteracao do calendario periodo duas vezes seguidas.
                bool selecionouComboPeriodos = false;

                if (UCCTurmaDisciplina1.Valor > -1)
                {
                    long tur_id = Convert.ToInt64(ddlTurma.SelectedValue);

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

                    ACA_CalendarioAnual entCalendario = new ACA_CalendarioAnual {
                        cal_id = entTurma.cal_id
                    };
                    ACA_CalendarioAnualBO.GetEntity(entCalendario);

                    ACA_FormatoAvaliacao entFormatoAvaliacao = new ACA_FormatoAvaliacao {
                        fav_id = entTurma.fav_id
                    };
                    ACA_FormatoAvaliacaoBO.GetEntity(entFormatoAvaliacao);

                    VS_FechamentoAutomatico = entFormatoAvaliacao.fav_fechamentoAutomatico;

                    TUR_TurmaDisciplina entityTurmaDisciplina = new TUR_TurmaDisciplina {
                        tud_id = UCCTurmaDisciplina1.Valor
                    };
                    TUR_TurmaDisciplinaBO.GetEntity(entityTurmaDisciplina);

                    if (entityTurmaDisciplina.tud_naoLancarFrequencia)
                    {
                        lblMessage.Text           = UtilBO.GetErroMessage(GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + " não pode lançar frequência na turma.", UtilBO.TipoMensagem.Alerta);
                        UCCTurmaDisciplina1.Valor = -1;
                    }
                    else
                    {
                        bool sucessoProcessarPendenciaFechamento = true;
                        if (VS_FechamentoAutomatico)
                        {
                            var pendencias = CLS_AlunoFechamentoPendenciaBO.SelecionarAguardandoProcessamento(tur_id, entityTurmaDisciplina.tud_id, entityTurmaDisciplina.tud_tipo, 0);

                            if ((pendencias != null) && (pendencias.Rows.Count > 0))
                            {
                                try
                                {
                                    // limpa cache desta turma
                                    string pattern;
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_FILTRO_DEFICIENCIA_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_COMPONENTES_REGENCIA_PATTERN_KEY, tur_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_PATTERN_KEY, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_COMPONENTES_REGENCIA_PATTERN_KEY, tur_id);
                                    CacheManager.Factory.RemoveByPattern(pattern);
                                    pattern = String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, entTurma.esc_id, entTurma.uni_id, entCalendario.cal_ano, entityTurmaDisciplina.tud_id);
                                    CacheManager.Factory.Remove(pattern);
                                    CLS_AlunoFechamentoPendenciaBO.Processar(entityTurmaDisciplina.tud_id, (byte)AvaliacaoTipo.Final, pendencias);
                                }
                                catch (Exception ex)
                                {
                                    sucessoProcessarPendenciaFechamento = false;
                                    ApplicationWEB._GravaErro(ex);
                                    lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Classe", "CompensacaoAusencia.Cadastro.MensagemErroProcessarPendenciaFechamento").ToString(), UtilBO.TipoMensagem.Erro);
                                }
                            }
                        }
                        if (sucessoProcessarPendenciaFechamento)
                        {
                            UCCPeriodoCalendario.CarregarPorPeriodoEventoEfetivacaoVigentes(entTurma.cal_id, UCCTurmaDisciplina1.Valor, entTurma.tur_id, true);
                            selecionouComboPeriodos = UCCPeriodoCalendario.Valor[0] != -1 && UCCPeriodoCalendario.Valor[1] != -1;

                            UCCPeriodoCalendario.SetarFoco();
                            UCCPeriodoCalendario.PermiteEditar = true;
                        }

                        VS_DisciplinaEspecial = entityTurmaDisciplina.tud_disciplinaEspecial;

                        VS_posicao = TUR_TurmaDocenteBO.SelecionaPosicaoPorDocenteTurma(_VS_doc_id, UCCTurmaDisciplina1.Valor, ApplicationWEB.AppMinutosCacheLongo);

                        VS_tipoDocente = ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(VS_posicao, ApplicationWEB.AppMinutosCacheLongo);
                    }
                }

                if (!selecionouComboPeriodos)
                {
                    UCCPeriodoCalendario_IndexChanged();
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
            }
        }
コード例 #19
0
        private void xrAtividadeAvaliativaEfetivacao_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            TUR_Turma tur = new TUR_Turma
            {
                tur_id = Convert.ToInt64(TURID.Value)
            };

            TUR_TurmaBO.GetEntity(tur);

            ACA_FormatoAvaliacao fav = new ACA_FormatoAvaliacao
            {
                fav_id = tur.fav_id
            };

            ACA_FormatoAvaliacaoBO.GetEntity(fav);

            ACA_EscalaAvaliacao esa = new ACA_EscalaAvaliacao
            {
                esa_id = fav.esa_idPorDisciplina
            };

            ACA_EscalaAvaliacaoBO.GetEntity(esa);

            xrBarra.Visible = (esa.esa_tipo == Convert.ToByte(1));
            xrPizza.Visible = (esa.esa_tipo == Convert.ToByte(2));

            List <string> lstCoresRelatorio = new List <string>();

            //Carrega as faixas da turma com as cores
            var lstFaixas = (from dadosGeral in dsGestaoEscolar2.NEW_RelatorioAvaliacao_Efetivacao_Grafico.AsEnumerable()
                             group dadosGeral by new
            {
                far_ordenar = dadosGeral.Field <object>("far_ordenar") != null
                                               ? dadosGeral.Field <object>("far_ordenar").ToString() : "",
                far_cor = dadosGeral.Field <object>("far_cor") != null
                                           ? dadosGeral.Field <object>("far_cor").ToString() : ""
            } into faixas
                             orderby faixas.Key.far_ordenar
                             select faixas.Key);

            //Se todas as faixas tiverem cores então vai usar as cores das faixas
            if (!lstFaixas.Any(p => string.IsNullOrEmpty(p.far_cor)))
            {
                lstCoresRelatorio = lstFaixas.Select(p => p.far_cor).ToList();
            }

            //Se não carregou nenhuma cor das faixas então usa as cores configuradas para o relatório
            if (lstCoresRelatorio.Count == 0)
            {
                lstCoresRelatorio = RelatoriosDevUtil.SelecionaCoresRelatorio((int)ReportNameGestaoAcademicaDocumentosDocente.DocDctGraficoAtividadeAvaliativa).Select(p => p.cor_corPaleta).ToList();
            }

            Palette paletaCores = RelatoriosDevUtil.CarregarPaletaCoresRelatorio(lstCoresRelatorio);

            if (paletaCores.Count > 0)
            {
                if (xrPizza.Visible)
                {
                    xrPizza.PaletteRepository.Add("Gestao", paletaCores);
                    xrPizza.PaletteName = "Gestao";
                }

                if (xrBarra.Visible)
                {
                    xrBarra.PaletteRepository.Add("Gestao", paletaCores);
                    xrBarra.PaletteName = "Gestao";
                }
            }
        }
コード例 #20
0
ファイル: Busca.aspx.cs プロジェクト: rafysanchez/SME-SGP
    protected void _dgvTurma_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Selecionar")
        {
            try
            {
                VS_cancelSelect = false;
                GridViewRow row = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer;

                int index = row.RowIndex;
                _VS_tur_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["tur_id"]);

                // Utilizado para verificar se é turma eletiva do aluno
                TUR_Turma tur = new TUR_Turma {
                    tur_id = _VS_tur_id
                };
                TUR_TurmaBO.GetEntity(tur);

                // verifica se existe evento de efetivacao ligado ao calendário da turma
                int cal_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["cal_id"]);

                // Busca o evento ligado ao calendário, que seja do tipo definido
                // no parâmetro como de efetivação.
                List <ACA_Evento> listEvento = ACA_EventoBO.GetEntity_Efetivacao_List(cal_id, _VS_tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, true, __SessionWEB.__UsuarioWEB.Docente.doc_id);

                if (string.IsNullOrEmpty(_dgvTurma.DataKeys[index].Values["fav_id"].ToString()))
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("É necessário selecionar uma turma que possua um formato de avaliação.", UtilBO.TipoMensagem.Alerta);
                }
                else
                {
                    _VS_fav_id = Convert.ToInt32(_dgvTurma.DataKeys[index].Values["fav_id"]);

                    int valor                 = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorRecuperacao      = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorFinal            = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    int valorRecuperacaoFinal = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_RECUPERACAO_FINAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                    // verifica se existe evento do tipo Efetivação Nota
                    string listaTpcIdPeriodicaPeriodicaFinal = string.Empty;
                    IEnumerable <ACA_Evento> dadoNota        =
                        (from ACA_Evento item in listEvento
                         where item.tev_id == valor
                         select item);
                    // se existir, pega os tpc_id's
                    List <ACA_Evento> lt = dadoNota.ToList();
                    if (lt.Count > 0)
                    {
                        var x = from ACA_Evento evt in listEvento
                                where evt.tev_id == valor
                                select evt.tpc_id;

                        foreach (int tpc_id in x.ToList())
                        {
                            if (string.IsNullOrEmpty(listaTpcIdPeriodicaPeriodicaFinal))
                            {
                                listaTpcIdPeriodicaPeriodicaFinal += Convert.ToString(tpc_id);
                            }
                            else
                            {
                                listaTpcIdPeriodicaPeriodicaFinal += "," + Convert.ToString(tpc_id);
                            }
                        }
                    }

                    // verifica se existe evento do tipo efetivação recuperacao
                    string listaTpcIdRecuperacao             = string.Empty;
                    IEnumerable <ACA_Evento> dadoRecuperacao =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorRecuperacao
                         select item);
                    List <ACA_Evento> ltRe = dadoRecuperacao.ToList();
                    // se existir, pega os tpc_id's
                    if (ltRe.Count > 0)
                    {
                        var x = from ACA_Evento evt in listEvento
                                where
                                evt.tev_id == valorRecuperacao
                                select evt.tpc_id;

                        foreach (int tpc_id in x.ToList())
                        {
                            if (string.IsNullOrEmpty(listaTpcIdRecuperacao))
                            {
                                listaTpcIdRecuperacao += Convert.ToString(tpc_id);
                            }
                            else
                            {
                                listaTpcIdRecuperacao += "," + Convert.ToString(tpc_id);
                            }
                        }
                    }

                    // verifica se existe evento do tipo efetivação final
                    bool existeFinal = false;
                    IEnumerable <ACA_Evento> dadoFinal =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorFinal
                         select item);
                    List <ACA_Evento> ltFinal = dadoFinal.ToList();
                    // se existir, marca para trazer as avaliações do tipo final
                    if (ltFinal.Count > 0)
                    {
                        existeFinal = true;
                    }

                    // verifica se existe evento do tipo recuperação final
                    bool existeRecuperacaoFinal = false;
                    IEnumerable <ACA_Evento> dadoRecuperacaoFinal =
                        (from ACA_Evento item in listEvento
                         where
                         item.tev_id == valorRecuperacaoFinal
                         select item);
                    List <ACA_Evento> ltRecuperacaoFinal = dadoRecuperacaoFinal.ToList();
                    // se existir, marca para trazer as avaliações do tipo recuperação final
                    if (ltRecuperacaoFinal.Count > 0)
                    {
                        existeRecuperacaoFinal = true;
                    }

                    DataTable dtAvaliacoes;

                    // Se for turma eletiva do aluno, carrega apenas os períodos do calendário em que
                    // a turma é oferecida
                    if ((TUR_TurmaTipo)tur.tur_tipo == TUR_TurmaTipo.EletivaAluno)
                    {
                        List <CadastroTurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectCadastradosBy_Turma(_VS_tur_id);
                        dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao_TurmaDisciplinaCalendario(_VS_tur_id, listaDisciplinas[0].entTurmaDisciplina.tud_id, _VS_fav_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, false, true);
                    }
                    else
                    {
                        dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao(_VS_tur_id, _VS_fav_id, 0, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, existeRecuperacaoFinal, false, true, -1, ApplicationWEB.AppMinutosCacheLongo);
                    }

                    var avaliacoes = (from DataRow dr in dtAvaliacoes.Rows
                                      let fechado = Convert.ToBoolean(dr["ava_tpc_fechado"])
                                                    let cap_dataInicio = Convert.ToDateTime(string.IsNullOrEmpty(dr["cap_dataInicio"].ToString()) ? new DateTime().ToString() : dr["cap_dataInicio"])
                                                                         where !(fechado && cap_dataInicio > DateTime.Now)
                                                                         select dr);

                    dtAvaliacoes = avaliacoes.Any() ? avaliacoes.CopyToDataTable() : new DataTable();

                    if (dtAvaliacoes.Rows.Count == 0)
                    {
                        _lblMessage.Text = UtilBO.GetErroMessage("Turma fora do período de " + NomeModulo + ".", UtilBO.TipoMensagem.Alerta);
                    }
                    else if (dtAvaliacoes.Rows.Count == 1)
                    {
                        ACA_FormatoAvaliacao ent = new ACA_FormatoAvaliacao {
                            fav_id = _VS_fav_id
                        };
                        ACA_FormatoAvaliacaoBO.GetEntity(ent);

                        _VS_ava_id = Convert.ToInt32(dtAvaliacoes.Rows[0]["ava_id"]);

                        RedirecionaCadastro();
                    }
                    else if (dtAvaliacoes.Rows.Count > 1)
                    {
                        // Carregar Avaliações.
                        gvAvaliacoes.DataSource = dtAvaliacoes;
                        gvAvaliacoes.DataBind();

                        ScriptManager.RegisterStartupScript(this, typeof(Page), "abreAvaliacoes", "$(document).ready(function(){$('#divAvaliacoes').dialog('open'); });", true);
                    }
                }
            }
            catch (ValidationException ex)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar as avaliações.", UtilBO.TipoMensagem.Erro);
            }
        }
    }