/// <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); } } } }
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); } }
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; }
/// <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 + "."); } } }
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); } }
/// <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); }
/// <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; }
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); } }
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(); } }
/// <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; } } ); }
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"; } }
/// <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); } }
/// <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); } }
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); } } }
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; }
/// <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; } }
/// <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); }
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); } }
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"; } } }
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); } } }