/// <summary> /// Evento disparado ao renderizar cada dia do calendário /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void calMesPeriodo_DayRender(object sender, DayRenderEventArgs e) { // coloca os dias referentes a outros meses em uma cor diferente if (e.Day.IsOtherMonth) { e.Cell.ForeColor = Color.Silver; } // altera a cor da célula referente a data de cada período foreach (DataRow row in Periodos.Rows) { DateTime dataPeriodo; if (DateTime.TryParse((row["cap_periodo"].ToString().Split('-'))[0], out dataPeriodo) && dataPeriodo == e.Day.Date && !e.Day.IsOtherMonth) { e.Cell.Font.Bold = true; e.Cell.ForeColor = Color.FromName(CorPeriodosEventos); } if (DateTime.TryParse((row["cap_periodo"].ToString().Split('-'))[1], out dataPeriodo) && dataPeriodo == e.Day.Date && !e.Day.IsOtherMonth) { e.Cell.Font.Bold = true; e.Cell.ForeColor = Color.FromName(CorPeriodosEventos); } } // altera a cor da célula referente a data de cada evento DateTime dateAux; var listEventos = ( from DataRow row in Eventos.Rows where DateTime.TryParse(row["evt_dataInicio"].ToString(), out dateAux) && DateTime.TryParse(row["evt_dataFim"].ToString(), out dateAux) && DateTime.Parse(row["evt_dataInicio"].ToString()) <= e.Day.Date && e.Day.Date <= DateTime.Parse(row["evt_dataFim"].ToString()) select new { evt_dataInicio = DateTime.Parse(row["evt_dataInicio"].ToString()), evt_dataFim = DateTime.Parse(row["evt_dataFim"].ToString()), evt_semAtividadeDiscente = bool.Parse(row["evt_semAtividadeDiscente"].ToString()), esc_nome = row["esc_nome"].ToString() } ).Distinct().ToList(); if ((listEventos.Any(p => p.evt_dataInicio == e.Day.Date) && !e.Day.IsOtherMonth) || (listEventos.Any(p => p.evt_dataFim == e.Day.Date) && !e.Day.IsOtherMonth)) { e.Cell.Font.Bold = true; e.Cell.ForeColor = Color.FromName(CorPeriodosEventos); } foreach (DataRow row in Eventos.Rows) { DateTime dataInicioEvento, dataFimEvento; DateTime.TryParse(row["evt_dataInicio"].ToString(), out dataInicioEvento); DateTime.TryParse(row["evt_dataFim"].ToString(), out dataFimEvento); if (bool.Parse(row["evt_semAtividadeDiscente"].ToString()) && dataInicioEvento <= e.Day.Date && e.Day.Date <= dataFimEvento) { e.Cell.BackColor = Color.FromName(CorDiasSemAtividadeDiscente); } } int parametroAtivDiversificada = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_ATIVIDADE_DIVERSIFICADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (DiaNaoUtil(e.Day.Date) && !DiaDeEventoAtividadeDiversificada(e.Day.Date, parametroAtivDiversificada) && !e.Day.IsOtherMonth) { e.Cell.Font.Bold = true; e.Cell.ForeColor = Color.FromName(CorDiasNaoUteis); e.Cell.BackColor = Color.FromName(CorDiasSemAtividadeDiscente); } // altera a cor da célula referente ao início e fim do calendário if (CalendarioAnual.cal_dataInicio == e.Day.Date && !e.Day.IsOtherMonth) { e.Cell.Font.Bold = true; e.Cell.ForeColor = Color.FromName(CorInicioAnoLetivo); } else if (CalendarioAnual.cal_dataFim == e.Day.Date && !e.Day.IsOtherMonth) { e.Cell.Font.Bold = true; e.Cell.ForeColor = Color.FromName(CorInicioAnoLetivo); } }
protected void Page_Load(object sender, EventArgs e) { SetaDelegates(); 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.CamposData)); sm.Scripts.Add(new ScriptReference(ArquivoJS.MascarasCampos)); sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmBtn)); sm.Scripts.Add(new ScriptReference(ArquivoJS.ExitPageConfirm)); sm.Scripts.Add(new ScriptReference("~/Includes/jsSetExitPageConfirmer.js")); sm.Scripts.Add(new ScriptReference("~/Includes/jquery.tools.min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/jsCadastroTurmaEletiva.js")); if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.BOTAO_SALVAR_PERMANECE_TELA, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { Page.ClientScript.RegisterStartupScript(typeof(Page), "exitConfirm", "SetExitPageConfirmer();", true); if (!Convert.ToString(btnCancelar.CssClass).Contains("btnMensagemUnload")) { btnCancelar.CssClass += " btnMensagemUnload"; } } } if (!IsPostBack) { try { InicializarUserControls(); if ((PreviousPage != null) && PreviousPage.IsCrossPagePostBack) { uccFiltroEscola.FiltroEscolasControladas = null; uccFiltroEscola.MostraApenasAtivas = false; CarregarDadosAlteracao(PreviousPage.Edit_tur_id); } //Se é um cadastro de turma nova e o parâmetro de novas turmas "aguardando" estiver ativo então remove as opções de situação if (VS_tur_id <= 0 && ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.NOVAS_TURMAS_AGUARDANDO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { ddlSituacao.Items.Clear(); ddlSituacao.Items.Add(new ListItem("Aguardando", ((byte)TUR_TurmaSituacao.Aguardando).ToString())); } lblPeriodoCursos.Text = GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + " do(a) " + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id).ToLower() + " *"; UCControleVigenciaDocentes.PermiteEditar = false; } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Gera o relatorio com base nos filtros selecionados. /// </summary> private void GerarRel() { string ciclosSelecionados = ""; string ciclosTexto = ""; bool todosCiclos = true; foreach (RepeaterItem item in rptCampos.Items) { CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo"); if (ckbCampo != null) { if (ckbCampo.Checked) { ciclosTexto += (string.IsNullOrEmpty(ciclosTexto) ? "" : ", ") + ckbCampo.Text; HiddenField hdnId = (HiddenField)item.FindControl("hdnId"); if (hdnId != null) { ciclosSelecionados += (string.IsNullOrEmpty(ciclosSelecionados) ? "" : ",") + hdnId.Value; } } else { todosCiclos = false; } } } if (todosCiclos) { ciclosTexto = "Todos"; } if (string.IsNullOrEmpty(ciclosSelecionados)) { throw new ValidationException(GetGlobalResourceObject("Relatorios", "ObjetoAprendizagem.Busca.cvCiclos.ErrorMessage").ToString()); } SalvarBusca(ciclosSelecionados); string parameter = string.Empty; string report = ((int)MSTech.GestaoEscolar.BLL.ReportNameGestaoAcademica.RelatorioObjetoAprendizagem).ToString(); parameter = "uad_idSuperior=" + UCComboUAEscola.Uad_ID.ToString() + "&esc_id=" + UCComboUAEscola.Esc_ID.ToString() + "&uni_id=" + UCComboUAEscola.Uni_ID.ToString() + "&cal_ano=" + UCComboAnoLetivo1.ano.ToString() + "&ciclosSelecionados=" + ciclosSelecionados + "&ciclosTexto=" + ciclosTexto + "&tds_id=" + UCComboTipoDisciplina1.Valor.ToString() + "&tds_nome=" + UCComboTipoDisciplina1.Texto + "&tipoRel=" + ddlTipoRel.SelectedValue + "&MostraCodigoEscola=" + ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + "&logo=" + String.Concat(MSTech.GestaoEscolar.BLL.CFG_ServidorRelatorioBO.CarregarServidorRelatorioPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo).srr_pastaRelatorios.ToString() , ApplicationWEB.LogoRelatorioSSRS) + "&nomeMunicipio=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Municipio") + "&nomeSecretaria=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Secretaria") + "&nomeEscola=" + (UCComboUAEscola.Esc_ID > 0 ? UCComboUAEscola.TextoComboEscola : "") + "&nomeDRE=" + (UCComboUAEscola.Uad_ID != Guid.Empty ? UCComboUAEscola.TextoComboUA : "") + "&ent_id=" + __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString() + "&adm=" + (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao) + "&usu_id=" + __SessionWEB.__UsuarioWEB.Usuario.usu_id + "&gru_id=" + __SessionWEB.__UsuarioWEB.Grupo.gru_id; MSTech.GestaoEscolar.BLL.CFG_RelatorioBO.CallReport("Relatorios", report, parameter, HttpContext.Current); }
/// <summary> /// Verifica os parâmetros acadêmicos cadastrados, mostrando e carregando os combos /// conforme a configuração. /// Se parâmetro FILTRAR_ESCOLA_UA_SUPERIOR = "Sim", mostra combo de Unidade Administrativa, /// e carrega no combo pelo tipo de UA que estiver setada no parâmetro /// TIPO_UNIDADE_ADMINISTRATIVA_FILTRO_ESCOLA. /// </summary> public void Inicializar() { try { lblUA.Visible = false; ddlUA.Visible = false; if ((__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa && PermissaoUsuario) || !ACA_ParametroAcademicoBO.VerificaFiltroUniAdmSuperiorPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id)) { FiltroEscola = false; cpvUA.Visible = false; CarregaUnidadesEscolas(); } else { FiltroEscola = true; EnableEscolas = false; Guid tua_id = ACA_ParametroAcademicoBO.VerificaFiltroEscolaPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id); SYS_TipoUnidadeAdministrativa entityTipoUnidadeAdministrativa = new SYS_TipoUnidadeAdministrativa { tua_id = tua_id }; SYS_TipoUnidadeAdministrativaBO.GetEntity(entityTipoUnidadeAdministrativa); LabelUA = String.IsNullOrEmpty(entityTipoUnidadeAdministrativa.tua_nome) ? "Unidade Administrativa" : entityTipoUnidadeAdministrativa.tua_nome; CarregaUnidadesAdministrativasSuperior(tua_id); lblUA.Visible = true; ddlUA.Visible = true; cpvUA.Visible = ObrigatorioUA; } if ((ObrigatorioUA) && (!lblUA.Text.Contains("*"))) { lblUA.Text += " *"; } if ((ObrigatorioEscola) && (!lblEscola.Text.Contains("*"))) { lblEscola.Text += " *"; } if (!ObrigatorioUA) { lblUA.Text = lblUA.Text.Replace(ApplicationWEB.TextoAsteriscoObrigatorio, ""); lblUA.Text = lblUA.Text.Replace(" *", ""); } if (!ObrigatorioEscola) { lblEscola.Text = lblEscola.Text.Replace(ApplicationWEB.TextoAsteriscoObrigatorio, ""); lblEscola.Text = lblEscola.Text.Replace(" *", ""); } cpvEscola.Visible = ObrigatorioEscola; } catch (Exception ex) { ApplicationWEB._GravaErro(ex); } }
/// <summary> /// Carrega as avaliações no combo que estão liberadas de acordo com os eventos do calendário, /// e com os períodos ligados à disciplina. /// </summary> /// <param name="entityTurma">Entidade da turma</param> /// <param name="tud_id">Id da disciplina</param> public void CarregarAvaliacao(TUR_Turma entityTurma, long tud_id, int tpc_idFiltrar = -1, bool incluirPeriodoFinal = false, long doc_id = -1) { try { // 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(entityTurma.cal_id, entityTurma.tur_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, tpc_idFiltrar, ApplicationWEB.AppMinutosCacheLongo, true, doc_id); if (entityTurma.fav_id <= 0) { __SessionWEB.PostMessages = UtilBO.GetErroMessage("É necessário selecionar uma turma que possua um formato de avaliação.", UtilBO.TipoMensagem.Alerta); Response.Redirect("~/Classe/Efetivacao/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } else { 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)entityTurma.tur_tipo == TUR_TurmaTipo.EletivaAluno) { List <CadastroTurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectCadastradosBy_Turma(entityTurma.tur_id); dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao_TurmaDisciplinaCalendario(entityTurma.tur_id, listaDisciplinas[0].entTurmaDisciplina.tud_id, entityTurma.fav_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, true, true); if (tpc_idFiltrar > 0) { var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows where (tpc_idFiltrar == Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"])) select dr); dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable(); } } else { dtAvaliacoes = ACA_AvaliacaoBO.ConsultaPor_Periodo_Efetivacao(entityTurma.tur_id, entityTurma.fav_id, tud_id, listaTpcIdPeriodicaPeriodicaFinal, listaTpcIdRecuperacao, existeFinal, existeRecuperacaoFinal, true, true, tpc_idFiltrar, ApplicationWEB.AppMinutosCacheLongo); } if (incluirPeriodoFinal) { if (tpc_idFiltrar > 0) { var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows where (tpc_idFiltrar == Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"])) select dr); dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable(); } else { var eletivaFiltrada = (from DataRow dr in dtAvaliacoes.Rows where ((byte)dr["ava_tipo"] == (byte)AvaliacaoTipo.Final) select dr); dtAvaliacoes = eletivaFiltrada.Any() ? eletivaFiltrada.CopyToDataTable() : new DataTable(); } } 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"]) let tpc_id = Convert.ToInt32(string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? 0 : dr["tpc_id"]) where (!(fechado && cap_dataInicio > DateTime.Now)) && ((VS_tpc_id == -1) || (tpc_id == VS_tpc_id)) select dr); dtAvaliacoes = avaliacoes.Any() ? avaliacoes.CopyToDataTable() : new DataTable(); ddlAvaliacao.Items.Clear(); ddlAvaliacao.DataTextField = "ava_tpc_nome"; ddlAvaliacao.DataSource = dtAvaliacoes; ddlAvaliacao.Items.Insert(0, new ListItem("-- Selecione uma avaliação --", "-1")); ddlAvaliacao.AppendDataBoundItems = true; ddlAvaliacao.DataBind(); //if (tpc_idSelecionar > 0) //{ // // Seleciona o tpc_id da avaliação relacionada. //} } } catch (ValidationException ex) { __SessionWEB.PostMessages = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); Response.Redirect("~/Classe/Efetivacao/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { TrataErro(ex); } }
protected void Page_Load(object sender, EventArgs e) { string mod = Request.QueryString["mod"]; if (mod != null) { VS_mod = Convert.ToInt32(mod); } ScriptManager sm = ScriptManager.GetCurrent(this); if (sm != null) { sm.Scripts.Add(new ScriptReference(ArquivoJS.Json)); 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(ArquivoJS.MsgConfirmBtn)); } UCComboCursoCurriculo1.IndexChanged += UCComboCursoCurriculo1_IndexChanged; UCComboCurriculoPeriodo1.IndexChanged += UCComboCurriculoPeriodo1__OnSelectedIndexChange; UCComboCalendario1.IndexChanged += UCComboCalendario1_IndexChanged; if (!IsPostBack) { _VS_PesquisaSalva = false; //_VS_SelecionarTodos = false; try { string message = __SessionWEB.PostMessages; if (!String.IsNullOrEmpty(message)) { _lblMessage.Text = message; _lblMessage.Focus(); __SessionWEB.PostMessages = String.Empty; } if (!__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar) { uppPesquisa.Visible = false; _lblMessage.Text = UtilBO.GetErroMessage("Você não possui permissão para acessar a página solicitada.", UtilBO.TipoMensagem.Alerta); _lblMessage.Focus(); } Page.Form.DefaultFocus = UCComboUAEscola.ComboEscola_ClientID; Page.Form.DefaultButton = _btnPesquisar.UniqueID; // quantidade de itens por página string qtItensPagina = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.QT_ITENS_PAGINACAO); _ddlQtPaginado.SelectedValue = string.IsNullOrEmpty(qtItensPagina) ? ApplicationWEB._Paginacao.ToString() : qtItensPagina; // ****************************** string nomeMatriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); bool mostraMatriculaEstadual = !string.IsNullOrEmpty(nomeMatriculaEstadual); UCCamposBuscaAluno1.MostrarMatriculaEstadual = mostraMatriculaEstadual; UCCamposBuscaAluno1.TituloMatriculaEstadual = nomeMatriculaEstadual; fdsResultados.Visible = false; Inicializar(); VerificaBusca(); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); _lblMessage.Focus(); } } }
protected void btnEntrar_Click(object sender, EventArgs e) { if (ValidarLogin()) { try { // Carrega os dados do usuário necessário para o login SYS_Usuario entityUsuario = new SYS_Usuario { ent_id = UCComboEntidade1.Valor , usu_login = (RadioButtonList1.SelectedIndex == 0 ? ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, Guid.Empty) : ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_RESPONSAVEL_AREA_ALUNO, Guid.Empty)) + txtLogin.Text , usu_senha = txtSenha.Text }; // Checa as credenciais do usuário LoginStatus status = SYS_UsuarioBO.LoginWEB(entityUsuario); switch (status) { case LoginStatus.Erro: { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro ao tentar entrar no sistema." + entityUsuario.usu_login); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar entrar no sistema.", UtilBO.TipoMensagem.Erro); txtLogin.Focus(); break; } case LoginStatus.Bloqueado: { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário bloqueado." + entityUsuario.usu_login); lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", UtilBO.TipoMensagem.Alerta); txtLogin.Focus(); break; } case LoginStatus.NaoEncontrado: { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário não encontrado." + entityUsuario.usu_login); //mostra para o usuário a mensagem abaixo lblMessage.Text = UtilBO.GetErroMessage("Usuário e/ou senha inválidos.", UtilBO.TipoMensagem.Alerta); txtLogin.Focus(); break; } case LoginStatus.SenhaInvalida: { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha inválida." + entityUsuario.usu_login); //mostra para o usuário a mensagem abaixo lblMessage.Text = UtilBO.GetErroMessage("Usuário e/ou senha inválidos.", UtilBO.TipoMensagem.Alerta); txtLogin.Focus(); break; } case LoginStatus.Expirado: { ConfigurarTelaSenhaExpirada(entityUsuario); break; } case LoginStatus.Sucesso: { // Zera a quantidade de falhas de autenticação para o usuário. SYS_UsuarioFalhaAutenticacaoBO.ZeraFalhaAutenticacaoUsuario(entityUsuario.usu_id); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Login efetuado com sucesso."); // Autenticação SAML. SYS_UsuarioBO.AutenticarUsuario(entityUsuario); // Configura usuário na Session LoadSession(entityUsuario); // Se selecionou para logar como responsável, verifica se esse ele é responsável por um aluno só, // ou caso tenha mais, redireciona para uma tela de selação de alunos if (RadioButtonList1.SelectedIndex == 1) { DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(entityUsuario.pes_id); Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString(); Session["Qtde_Filhos_Responsavel"] = dtAlunosDoResponsavel.Rows.Count; if (dtAlunosDoResponsavel.Rows.Count > 1) { //Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString(); RedirecionarLogin(true); break; } } RedirecionarLogin(false); break; } } } 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 entrar no sistema.", UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Validar idade do aluno de acordo com o CurriculoPeriodo no qual ele está inserido. /// Valida a idade máxima ideal + a amplitude do parâmetro acadêmico ou o valor informado /// no parâmetro amplitude. /// Valida a idade mínima ideal quando informado através da flag validarIdadeMinima - quando /// informada sempre valida usando a amplitudo passada por parâmetro na função. /// </summary> /// <param name="entity">Entidade AlunoCurriculo carregada</param> /// <param name="bancoGestao">Transação com banco Gestão - obrigatório</param> /// <param name="bancoCore">Transação com banco CoreSSO - opcional</param> /// <param name="validarIdadeMinima">Flag que indica se é pra validar idade mínima também</param> /// <param name="amplitude">Amplitude, se > 0, substitui a amplitude do parâmetro acadêmico</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> /// <returns>Se idade válida</returns> internal static bool ValidarIdadeIdeal ( ACA_AlunoCurriculo entity , TalkDBTransaction bancoGestao , TalkDBTransaction bancoCore , bool validarIdadeMinima , int amplitude , Guid ent_id ) { ACA_Aluno entAluno = new ACA_Aluno { alu_id = entity.alu_id }; ACA_AlunoBO.GetEntity(entAluno, bancoGestao); if (entAluno.alu_situacao != Convert.ToByte(ACA_AlunoSituacao.Inativo)) { if (entity.alc_situacao == Convert.ToByte(ACA_AlunoCurriculoSituacao.Ativo) || entity.alc_situacao == Convert.ToByte(ACA_AlunoCurriculoSituacao.EmMatricula)) { ACA_CurriculoPeriodo entCurPer = new ACA_CurriculoPeriodo { cur_id = entity.cur_id, crr_id = entity.crr_id, crp_id = entity.crp_id }; ACA_CurriculoPeriodoBO.GetEntity(entCurPer, bancoGestao); PES_Pessoa entPessoa = new PES_Pessoa { pes_id = entAluno.pes_id }; if (bancoCore == null) { PES_PessoaBO.GetEntity(entPessoa); } else { PES_PessoaBO.GetEntity(entPessoa, bancoCore); } // Quantidade de meses da idade máxima da criança cadastrada no CurrPeriodo. int idadeMaxima = (entCurPer.crp_idadeIdealAnoFim * 12) + entCurPer.crp_idadeIdealMesFim; if (amplitude > 0) { idadeMaxima += amplitude; } else { int pac_valor = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.AMPLITUDE_IDADE_ALERTA, ent_id); // Soma quantidade em meses do parâmetro de amplitude. idadeMaxima += (pac_valor > 0 ? (pac_valor * 12) : 0); } // Valida a quantidade de meses da idade da criança. int anos, meses, dias; GestaoEscolarUtilBO.CalculaAniversarioCompleto(DateTime.Now, entPessoa.pes_dataNascimento, out anos, out meses, out dias); int idade = (anos * 12) + meses; if (idade > idadeMaxima) { anos = idadeMaxima / 12; meses = idadeMaxima % 12; string sAnos = anos > 0 ? (anos + (anos > 1 ? " anos" : " ano")) : string.Empty; string sMeses = meses > 0 ? (anos > 0 ? " e " : "") + meses + (meses > 1 ? " meses" : " mês") : string.Empty; throw new ACA_Aluno_ValidationException("A idade do aluno não pode ser maior que " + sAnos + sMeses + "."); } ACA_Curriculo curso = ACA_CurriculoBO.GetEntity(new ACA_Curriculo { cur_id = entity.cur_id, crr_id = entity.crr_id }); if (validarIdadeMinima && curso.crr_regimeMatricula == 3 && ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.VALIDAR_IDADE_MINIMA_PEJA, ent_id)) { // Quantidade de meses da idade máxima da criança cadastrada no CurrPeriodo. int idadeMinima = (entCurPer.crp_idadeIdealAnoInicio * 12) + entCurPer.crp_idadeIdealMesInicio; idadeMinima -= amplitude; if (idade < idadeMinima) { anos = idadeMinima / 12; meses = idadeMinima % 12; string sAnos = anos > 0 ? (anos + (anos > 1 ? " anos" : " ano")) : string.Empty; string sMeses = meses > 0 ? (anos > 0 ? " e " : "") + meses + (meses > 1 ? " meses" : " mês") : string.Empty; throw new ACA_Aluno_ValidationException("A idade do aluno não pode ser menor que " + sAnos + sMeses + "."); } } } } return(true); }
/// <summary> /// Método para carregar um registro de compensacao, a fim de atualizar suas informações. /// Recebe dados referente a compensacao para realizar busca. /// </summary> /// <param name="cpa_id">ID da compensacao</param> public void Carregar(long cpa, long tud) { try { int cpa_id = Convert.ToInt32(cpa.ToString()); // Armazena valor ID do informativo a ser alterada. VS_cpa_id = cpa_id; // Busca do informativo baseado no ID do informativo. CLS_CompensacaoAusencia entCompensacao = new CLS_CompensacaoAusencia { cpa_id = cpa_id, tud_id = tud }; CLS_CompensacaoAusenciaBO.GetEntity(entCompensacao); VS_pro_id = entCompensacao.pro_id; VS_QtAulasComp = entCompensacao.cpa_quantidadeAulasCompensadas; DataTable dt = CLS_CompensacaoAusenciaBO.RetornaIdsCadastro(entCompensacao.tud_id, entCompensacao.cpa_id); // Pega somente a primeira linha DataRow row = dt.Rows[0]; Guid uad_id; int esc_id, uni_id, cur_id, crr_id, cap_id, tpc_id, cal_id; long tur_id, crp_id, ttn_id, tud_id; bool fav_fechamentoAutomatico; uad_id = string.IsNullOrEmpty(row[1].ToString()) ? new Guid() : new Guid(row[1].ToString()); esc_id = Convert.ToInt32(row[2].ToString()); uni_id = Convert.ToInt32(row[3].ToString()); cur_id = Convert.ToInt32(row[4].ToString()); crr_id = Convert.ToInt32(row[5].ToString()); cap_id = Convert.ToInt32(row[10].ToString()); tpc_id = Convert.ToInt32(row[11].ToString()); cal_id = Convert.ToInt32(row[12].ToString()); tur_id = Convert.ToInt64(row[7].ToString()); crp_id = Convert.ToInt64(row[6].ToString()); ttn_id = Convert.ToInt64(row[8].ToString()); tud_id = Convert.ToInt64(row[9].ToString()); fav_fechamentoAutomatico = Convert.ToBoolean(row["fav_fechamentoAutomatico"].ToString()); VS_FechamentoAutomatico = fav_fechamentoAutomatico; if (_VS_doc_id <= 0) { //CRE / Escola UCComboUAEscola.Inicializar(); if (!uad_id.Equals(new Guid())) { UCComboUAEscola.Uad_ID = uad_id; } UCComboUAEscola.MostraApenasAtivas = true; UCComboUAEscola.SelectedValueEscolas = new int[] { esc_id, uni_id }; UCComboUAEscola.PermiteAlterarCombos = false; //Calendario UCComboCalendario.CarregarCalendariosComBimestresAtivos(esc_id, true); UCComboCalendario.Valor = cal_id; //Etapa de ensino UCCCursoCurriculo.CarregarPorEscolaSituacaoCurso(UCComboUAEscola.Esc_ID, UCComboUAEscola.Uni_ID, 0); UCCCursoCurriculo.PermiteEditar = false; UCCCursoCurriculo.Valor = new int[] { cur_id, crr_id }; ddlTurma.Items.Clear(); ddlTurma.DataTextField = "tur_codigo"; ddlTurma.Items.Insert(0, new ListItem("-- Selecione uma turma --", "-1", true)); ddlTurma.DataSource = TUR_TurmaBO.GetSelectBy_Escola_Periodo_Situacao(__SessionWEB.__UsuarioWEB.Usuario.usu_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao), UCComboUAEscola.Esc_ID, UCComboUAEscola.Uni_ID, UCComboCalendario.Valor, UCCCursoCurriculo.Valor[0], UCCCursoCurriculo.Valor[1], -1, __SessionWEB.__UsuarioWEB.Usuario.ent_id, 0, 0, ApplicationWEB.AppMinutosCacheLongo) .GroupBy(p => new { tur_id = p.tur_id, tur_codigo = p.tur_codigo }).Select(p => p.Key).ToList();; ddlTurma.DataBind(); } else { UCComboUAEscola.SelectedValueEscolas = new int[] { esc_id, uni_id }; UCComboUAEscola.PermiteAlterarCombos = false; //Calendario UCComboCalendario.CarregarCalendariosComBimestresAtivos(esc_id, true); UCComboCalendario.Valor = cal_id; UCComboCalendario.PermiteEditar = false; //Carrega os campos int posicaoDocenteCompatilhado = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.POSICAO_DOCENCIA_COMPARTILHADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id); ddlTurma.Items.Clear(); ddlTurma.DataTextField = "tur_esc_nome"; ddlTurma.Items.Insert(0, new ListItem("-- Selecione uma turma --", "-1", true)); ddlTurma.DataSource = TUR_TurmaBO.GetSelectBy_Docente_TodosTipos_Posicao(__SessionWEB.__UsuarioWEB.Usuario.ent_id, _VS_doc_id, posicaoDocenteCompatilhado, 0, UCComboCalendario.Valor, true, false, ApplicationWEB.AppMinutosCacheLongo) .GroupBy(p => new { tur_id = p.tur_id, tur_esc_nome = p.tur_esc_nome }).Select(p => p.Key).ToList(); ddlTurma.DataBind(); } ddlTurma_SelectedIndexChanged(null, null); ddlTurma.Enabled = false; ddlTurma.SelectedValue = tur_id.ToString(); //Disciplina if (_VS_doc_id <= 0) { UCCTurmaDisciplina1.CarregarTurmaDisciplina(tur_id); } else { UCCTurmaDisciplina1.CarregarTurmaDisciplina(tur_id, _VS_doc_id); } UCCTurmaDisciplina1.PermiteEditar = false; UCCTurmaDisciplina1.Valor = tud_id; //Periodo Calendario UCCPeriodoCalendario.CarregarPorPeriodoEventoEfetivacaoVigentes(cal_id, tud_id, tur_id); UCCPeriodoCalendario.PermiteEditar = false; UCCPeriodoCalendario.Valor = new int[2] { cap_id, tpc_id }; UCCPeriodoCalendario_IndexChanged(); // Só habilita os campos de quantidade de aulas compensadas e alunos selecionados, // na edicao de uma compensacao do último bimestre "aberto" para edição. bool selecaoUltimoBimestre = UCCPeriodoCalendario.SelecaoUltimoBimestre(); txtQtAulas.Enabled = selecaoUltimoBimestre; UCComboCalendario.PermiteEditar = false; if (UCCPeriodoCalendario.Tpc_ID > 0) { // Atividades txtAtividades.Text = entCompensacao.cpa_atividadesDesenvolvidas; // Qt Aulas txtQtAulas.Text = entCompensacao.cpa_quantidadeAulasCompensadas.ToString(); // Alunos compensados List <CLS_CompensacaoAusenciaAluno> listaAlunos = CLS_CompensacaoAusenciaAlunoBO.SelectByCpa_id(entCompensacao.cpa_id, entCompensacao.tud_id); foreach (RepeaterItem item in rptAlunos.Items) { CheckBox ckbAluno = (CheckBox)item.FindControl("ckbAluno"); HiddenField hdnId = (HiddenField)item.FindControl("hdnId"); if (ckbAluno != null && hdnId != null) { ckbAluno.Enabled = selecaoUltimoBimestre; ckbAluno.Checked = listaAlunos.Any(p => string.Concat(p.tud_id, ";", p.alu_id, ";", p.mtu_id, ";", p.mtd_id) == hdnId.Value); } } } else { // Voltar pra busca, pois não é possível editar uma compensação de um bimestre não aberto. __SessionWEB.PostMessages = UtilBO.GetErroMessage("Não é possível editar a compensação, pois o bimestre não está aberto para edição." , UtilBO.TipoMensagem.Alerta); Response.Redirect("~/Classe/CompensacaoAusencia/Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a compensação de ausência.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// O método salva as observações para conselho pedagógico. /// </summary> /// <param name="tur_id">ID da turma.</param> /// <param name="alu_id">ID do aluno.</param> /// <param name="mtu_id">ID da matrícula turma do aluno.</param> /// <param name="fav_id">ID do formato de avaliação.</param> /// <param name="ava_id">ID da avaliação.</param> /// <param name="ltObservacao">Lista de observações.</param> /// <param name="banco">Banco</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> /// <returns></returns> public static bool SalvarObservacao ( long tur_id, long alu_id, int mtu_id, int fav_id, int ava_id, CLS_AlunoAvaliacaoTur_Observacao observacao, Guid usu_idLogado, byte resultado, string justificativaResultado, DateTime dataUltimaAlteracaoObservacao, DateTime dataUltimaAlteracaoNotaFinal, ACA_FormatoAvaliacao entFormatoAvaliacao, List <CLS_AvaliacaoTurDisc_Cadastro> listaDisciplina, List <MTR_MatriculaTurmaDisciplina> listaMatriculaTurmaDisciplina, int tamanhoMaximoKB, string[] TiposArquivosPermitidos, ref List <CLS_AlunoAvaliacaoTurmaDisciplina> listaAtualizacaoEfetivacao, Guid ent_id, int tpc_id ) { TalkDBTransaction banco = new CLS_AlunoAvaliacaoTurmaObservacaoDAO()._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>(); try { if (observacao.entityObservacao != null && observacao.entityObservacao != new CLS_AlunoAvaliacaoTurmaObservacao()) { Save(observacao.entityObservacao, banco); } int tpc_idUtilizado = -1; List <CLS_AvaliacaoTurDisc_Cadastro> listaDisciplinasUltimoPeriodo = new List <CLS_AvaliacaoTurDisc_Cadastro>(); listaDisciplinasUltimoPeriodo = listaDisciplina.Where(d => d.entity.ava_id != ava_id).ToList(); if (listaDisciplinasUltimoPeriodo.Count > 0) { tpc_idUtilizado = ACA_AvaliacaoBO.SelecionaMaiorBimestre_ByFormatoAvaliacao(entFormatoAvaliacao.fav_id, banco); } CLS_AlunoAvaliacaoTurmaDisciplinaBO.SaveAvaliacaoFinal( tur_id , entFormatoAvaliacao , listaDisciplina , tamanhoMaximoKB , TiposArquivosPermitidos , dataUltimaAlteracaoNotaFinal , listaMatriculaTurmaDisciplina , ref listaAtualizacaoEfetivacao , banco); tpc_idUtilizado = tpc_idUtilizado > 0 ? tpc_idUtilizado : tpc_id; if (entFormatoAvaliacao.fav_fechamentoAutomatico && listaMatriculaTurmaDisciplina.Any()) { FilaProcessamento.AddRange(listaMatriculaTurmaDisciplina .Select(p => new AlunoFechamentoPendencia { tud_id = p.tud_id, tpc_id = tpc_idUtilizado, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(p.mtd_id <= 0 ? 0 : 2) }).ToList()); } // Se for passado o resultado, salva na MTR_MatriculaTurma. if (!usu_idLogado.Equals(Guid.Empty)) { MTR_MatriculaTurma entMatr = new MTR_MatriculaTurma { alu_id = alu_id , mtu_id = mtu_id }; MTR_MatriculaTurmaBO.GetEntity(entMatr, banco); // Se o registro foi alterado depois da data da alteração mais recente no momento em que os dados foram carregados, // interrompe o salvamento e alerta o usuário de que é necessário atualizar os dados if (entMatr != null && !entMatr.IsNew && Convert.ToDateTime(entMatr.mtu_dataAlteracao.ToString()) > dataUltimaAlteracaoObservacao) { throw new ValidationException("Existe registro alterado mais recentemente, é necessário atualizar os dados."); } else { entMatr.usu_idResultado = usu_idLogado; entMatr.mtu_resultado = resultado; entMatr.mtu_relatorio = justificativaResultado; MTR_MatriculaTurmaBO.Save(entMatr, banco); if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.GERAR_HISTORICO_SALVAR_PARECER_CONCLUSIVO, ent_id)) { ACA_AlunoHistoricoBO.GeracaoHistoricoPedagogicoPorAluno(entMatr.alu_id, entMatr.mtu_id, banco); } if (entFormatoAvaliacao.fav_fechamentoAutomatico) { FilaProcessamento.Add(new AlunoFechamentoPendencia { tud_id = listaMatriculaTurmaDisciplina.FirstOrDefault().tud_id, tpc_id = tpc_id, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(entMatr.IsNew == true ? 0 : 2) }); } } } // Limpa cache do fechamento, para atualizar o check. GestaoEscolarUtilBO.LimpaCache(MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Periodo(tur_id, fav_id, ava_id)); List <TUR_TurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, null, GestaoEscolarUtilBO.MinutosCacheLongo); listaDisciplinas.ForEach(p => { GestaoEscolarUtilBO.LimpaCache(MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodo(p.tud_id, fav_id, ava_id, string.Empty)); GestaoEscolarUtilBO.LimpaCache(MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodoFiltroDeficiencia(p.tud_id, fav_id, ava_id, string.Empty)); // Chaves do fechamento automatico string chave = string.Empty; chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_MODEL_KEY, p.tud_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_MODEL_KEY, p.tud_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_COMPONENTES_REGENCIA_MODEL_KEY, tur_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_COMPONENTES_REGENCIA_MODEL_KEY, tur_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); // }); if (entFormatoAvaliacao.fav_fechamentoAutomatico && FilaProcessamento.Any(a => a.tpc_id > 0)) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias( FilaProcessamento .GroupBy(g => new { g.tud_id, g.tpc_id }) .Select(p => new AlunoFechamentoPendencia { tud_id = p.FirstOrDefault().tud_id, tpc_id = p.FirstOrDefault().tpc_id, afp_frequencia = p.FirstOrDefault().afp_frequencia, afp_nota = p.FirstOrDefault().afp_nota, afp_processado = FilaProcessamento .Where(w => w.tud_id == p.FirstOrDefault().tud_id&& w.tpc_id == p.FirstOrDefault().tpc_id) .Min(m => m.afp_processado) }) .Where(w => w.tpc_id > 0 && w.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)) .ToList() , banco); } return(true); } catch (ValidationException ex) { banco.Close(ex); throw; } catch (Exception ex) { banco.Close(ex); throw; } finally { if (banco.ConnectionIsOpen) { banco.Close(); } } }
/// <summary> /// O método salva as observações para conselho pedagógico. /// </summary> /// <param name="tur_id">ID da turma.</param> /// <param name="alu_id">ID do aluno.</param> /// <param name="mtu_id">ID da matrícula turma do aluno.</param> /// <param name="fav_id">ID do formato de avaliação.</param> /// <param name="ava_id">ID da avaliação.</param> /// <param name="ltObservacao">Lista de observações.</param> /// <param name="banco">Banco</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> /// <returns></returns> public static bool SalvarObservacao ( long tur_id, long alu_id, int mtu_id, long[] tud_ids, List <CLS_AlunoAvaliacaoTurmaObservacao> listaObservacao, List <CLS_AlunoAvaliacaoTurma> listaAlunoAvaliacaoTurma, List <CLS_AlunoAvaliacaoTurmaDisciplina> listaAlunoAvaliacaoTurmaDisciplina, List <ACA_AlunoAnotacao> listaAlunoAnotacao, bool permiteEditarResultadoFinal, Guid usu_idLogado, byte resultado, DateTime dataUltimaAlteracaoObservacao, DateTime dataUltimaAlteracaoNotaFinal, ACA_FormatoAvaliacao entFormatoAvaliacao, List <CLS_AvaliacaoTurDisc_Cadastro> listaDisciplina, List <MTR_MatriculaTurmaDisciplina> listaMatriculaTurmaDisciplina, int tamanhoMaximoKB, string[] TiposArquivosPermitidos, ref List <CLS_AlunoAvaliacaoTurmaDisciplina> listaAtualizacaoEfetivacao, Guid ent_id, IDictionary <int, int> dicAvaTpc, List <CLS_AlunoAvaliacaoTurmaObservacaoBO.DadosAlunoObservacao> listaDadosPeriodo ) { TalkDBTransaction banco = new CLS_AlunoAvaliacaoTurmaObservacaoDAO()._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>(); int tpc_idUltimoPeriodo = (dicAvaTpc.Count() > 0 ? dicAvaTpc.Max(p => p.Value) : 0); try { foreach (CLS_AlunoAvaliacaoTurmaObservacao observacao in listaObservacao) { observacao.usu_idAlteracao = usu_idLogado; Save(observacao, banco); } foreach (CLS_AlunoAvaliacaoTurma alunoAvaliacaoTurma in listaAlunoAvaliacaoTurma) { CLS_AlunoAvaliacaoTurmaBO.Save(alunoAvaliacaoTurma, banco); } object lockObject = new object(); DataTable dtAlunoAvaliacaoTurmaDisciplina = CLS_AlunoAvaliacaoTurmaDisciplina.TipoTabela_AlunoAvaliacaoTurmaDisciplina(); if (listaAlunoAvaliacaoTurmaDisciplina.Any()) { Parallel.ForEach ( listaAlunoAvaliacaoTurmaDisciplina, alunoAvaliacaoTurmaDisciplina => { lock (lockObject) { DataRow drAlunoAvaliacaoTurmaDisciplina = dtAlunoAvaliacaoTurmaDisciplina.NewRow(); dtAlunoAvaliacaoTurmaDisciplina.Rows.Add( CLS_AlunoAvaliacaoTurmaDisciplinaBO.EntityToDataRow(alunoAvaliacaoTurmaDisciplina, drAlunoAvaliacaoTurmaDisciplina)); } } ); } if (dtAlunoAvaliacaoTurmaDisciplina.Rows.Count > 0) { CLS_AlunoAvaliacaoTurmaDisciplinaBO.SalvarEmLotePosConselho(dtAlunoAvaliacaoTurmaDisciplina, banco); if (entFormatoAvaliacao.fav_fechamentoAutomatico && listaAlunoAvaliacaoTurmaDisciplina.Any()) { FilaProcessamento.AddRange(listaAlunoAvaliacaoTurmaDisciplina .Select(p => new AlunoFechamentoPendencia { tud_id = p.tud_id, tpc_id = (p.tpc_id > 0 ? p.tpc_id : tpc_idUltimoPeriodo), afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(p.atd_id <= 0 ? 0 : 2) }).ToList()); } } foreach (ACA_AlunoAnotacao alunoAnotacao in listaAlunoAnotacao) { ACA_AlunoAnotacaoBO.Save(alunoAnotacao, banco); } CLS_AlunoAvaliacaoTurmaDisciplinaBO.SaveAvaliacaoFinal( tur_id , entFormatoAvaliacao , listaDisciplina , tamanhoMaximoKB , TiposArquivosPermitidos , dataUltimaAlteracaoNotaFinal , listaMatriculaTurmaDisciplina , ref listaAtualizacaoEfetivacao , banco); if (entFormatoAvaliacao.fav_fechamentoAutomatico && listaMatriculaTurmaDisciplina.Any() && (tpc_idUltimoPeriodo > 0)) { FilaProcessamento.AddRange(listaMatriculaTurmaDisciplina .Select(p => new AlunoFechamentoPendencia { tud_id = p.tud_id, tpc_id = tpc_idUltimoPeriodo, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(p.mtd_id <= 0 ? 0 : 2) }).ToList()); } if (permiteEditarResultadoFinal) { // Se for passado o resultado, salva na MTR_MatriculaTurma. MTR_MatriculaTurma entMatr = new MTR_MatriculaTurma { alu_id = alu_id , mtu_id = mtu_id }; MTR_MatriculaTurmaBO.GetEntity(entMatr, banco); // So registra a alteracao do parecer conclusivo (resultado) // se for um registro novo e tem valor selecionado, ou se houve alteracao do valor. if ((entMatr.IsNew && entMatr.mtu_resultado > 0) || entMatr.mtu_resultado != resultado) { // Se o registro foi alterado depois da data da alteração mais recente no momento em que os dados foram carregados, // interrompe o salvamento e alerta o usuário de que é necessário atualizar os dados if (entMatr != null && !entMatr.IsNew && Convert.ToDateTime(entMatr.mtu_dataAlteracao.ToString()) > dataUltimaAlteracaoObservacao) { throw new ValidationException("Existe registro alterado mais recentemente, é necessário atualizar os dados."); } else { entMatr.usu_idResultado = usu_idLogado; entMatr.mtu_resultado = resultado; MTR_MatriculaTurmaBO.Save(entMatr, banco); if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.GERAR_HISTORICO_SALVAR_PARECER_CONCLUSIVO, ent_id)) { ACA_AlunoHistoricoBO.GeracaoHistoricoPedagogicoPorAluno(entMatr.alu_id, entMatr.mtu_id, banco); } if (entFormatoAvaliacao.fav_fechamentoAutomatico) { FilaProcessamento.Add(new AlunoFechamentoPendencia { tud_id = tud_ids.FirstOrDefault(), tpc_id = tpc_idUltimoPeriodo, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(entMatr.IsNew == true ? 0 : 2) }); } } } } // Limpa cache do fechamento, para atualizar o check, as notas pos-conselho, o parecer e a sintese final. string chave = string.Empty; int tpcId = -1; listaDadosPeriodo.ForEach(q => { // Fechamento de bimestre chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Periodo(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); if (HttpContext.Current != null) { HttpContext.Current.Cache.Remove(chave); } chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelect_ComponentesRegencia_By_TurmaFormato(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); CacheManager.Factory.Remove(chave); // Fechamento final chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Final(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); if (HttpContext.Current != null) { HttpContext.Current.Cache.Remove(chave); } chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelect_ComponentesRegencia_By_TurmaFormato_Final(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); CacheManager.Factory.Remove(chave); // Fechamento automatico de bimestre if (dicAvaTpc.TryGetValue(q.ava_id, out tpcId)) { chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_COMPONENTES_REGENCIA_MODEL_KEY, tur_id, tpcId); CacheManager.Factory.Remove(chave); } // Fechamento automatico final chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_COMPONENTES_REGENCIA_MODEL_KEY, tur_id); CacheManager.Factory.Remove(chave); }); List <TUR_TurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, null, GestaoEscolarUtilBO.MinutosCacheLongo); listaDisciplinas.ForEach(p => { // Fechamento de bimestre chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_BIMESTRE_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_BIMESTRE_FILTRO_DEFICIENCIA_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); // Fechamento final chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_FINAL_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_FINAL_FILTRO_DEFICIENCIA_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); // Fechamento automatico final chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_MODEL_KEY, p.tud_id); CacheManager.Factory.Remove(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id); CacheManager.Factory.Remove(chave); listaDadosPeriodo.ForEach(q => { // Fechamento automatico de bimestre if (dicAvaTpc.TryGetValue(q.ava_id, out tpcId)) { chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_MODEL_KEY, p.tud_id, tpcId); CacheManager.Factory.Remove(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id, tpcId); CacheManager.Factory.Remove(chave); } }); }); // //Adiciona tuds para processamento de pendência de notas (quando salva o parecer final foreach (long tud in tud_ids.Where(t => !FilaProcessamento.Any(f => f.tud_id == t))) { FilaProcessamento.Add(new AlunoFechamentoPendencia { tud_id = tud, tpc_id = tpc_idUltimoPeriodo, afp_frequencia = false, afp_frequenciaExterna = false, afp_nota = true, afp_processado = (byte)2 }); } if (entFormatoAvaliacao.fav_fechamentoAutomatico && FilaProcessamento.Any(a => a.tpc_id > 0)) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias( FilaProcessamento .GroupBy(g => new { g.tud_id, g.tpc_id }) .Select(p => new AlunoFechamentoPendencia { tud_id = p.FirstOrDefault().tud_id, tpc_id = p.FirstOrDefault().tpc_id, afp_frequencia = p.FirstOrDefault().afp_frequencia, afp_nota = p.FirstOrDefault().afp_nota, afp_processado = FilaProcessamento .Where(w => w.tud_id == p.FirstOrDefault().tud_id&& w.tpc_id == p.FirstOrDefault().tpc_id) .Min(m => m.afp_processado) }) .Where(w => w.tpc_id > 0 && w.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)) .ToList() , banco); } return(true); } catch (ValidationException ex) { banco.Close(ex); throw; } catch (Exception ex) { banco.Close(ex); throw; } finally { if (banco.ConnectionIsOpen) { banco.Close(); } } }
protected void Page_Load(object sender, EventArgs e) { //Exibe o título no navegador Page.Title = __SessionWEB.TituloGeral; #region Adiciona links de favicon HtmlLink link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon.ico"); link.Attributes["rel"] = "shortcut icon"; link.Attributes["sizes"] = ""; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-57x57.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "57x57"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-114x114.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "114x114"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-72x72.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "72x72"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-144x144.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "144x144"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-60x60.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "60x60"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-120x120.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "120x120"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-76x76.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "76x76"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-152x152.png"); link.Attributes["rel"] = "apple-touch-icon"; link.Attributes["sizes"] = "152x152"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-196x196.png"); link.Attributes["rel"] = "icon"; link.Attributes["sizes"] = "196x196"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-160x160.png"); link.Attributes["rel"] = "icon"; link.Attributes["sizes"] = "160x160"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-96x96.png"); link.Attributes["rel"] = "icon"; link.Attributes["sizes"] = "96x96"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-16x16.png"); link.Attributes["rel"] = "icon"; link.Attributes["sizes"] = "16x16"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-32x32.png"); link.Attributes["rel"] = "icon"; link.Attributes["sizes"] = "32x32"; Page.Header.Controls.Add(link); link = new HtmlLink(); link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-32x32.png"); link.Attributes["rel"] = "icon"; link.Attributes["sizes"] = "32x32"; Page.Header.Controls.Add(link); HtmlMeta meta = new HtmlMeta(); meta.Name = "msapplication-TileImage"; meta.Content = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/mstile-144x144.png"); Page.Header.Controls.Add(meta); meta = new HtmlMeta(); meta.Name = "msapplication-config"; meta.Content = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/browserconfig.xml"); Page.Header.Controls.Add(meta); #endregion Adiciona links de favicon if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.EXIBIR_LISTA_SISTEMAS_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) && !ApplicationWEB.LoginProprioDoSistema) { //Carrega logo geral do sistema imgGeral.ImageUrl = UtilBO.UrlImagemGestao(__SessionWEB.UrlCoreSSO, __SessionWEB.UrlLogoGeral); imgGeral.ToolTip = __SessionWEB.TituloGeral; imgGeral.AlternateText = __SessionWEB.TituloGeral; ImgLogoGeral.ToolTip = __SessionWEB.TituloGeral; ImgLogoGeral.NavigateUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx"; } else { h1Logo.Visible = ImgLogoGeral.Visible = false; if (UCSistemas1 != null) { UCSistemas1.Visible = false; } } //Atribui o caminho do logo do sistema atual, caso ele exista no Sistema Administrativo if (string.IsNullOrEmpty(__SessionWEB.UrlLogoSistema)) { ImgLogoSistemaAtual.Visible = false; } else { //Carrega logo do sistema atual imgSistemaAtual.ImageUrl = UtilBO.UrlImagemGestao(__SessionWEB.UrlCoreSSO, __SessionWEB.UrlLogoSistema); imgSistemaAtual.AlternateText = __SessionWEB.TituloSistema; imgSistemaAtual.ToolTip = __SessionWEB.TituloSistema; ImgLogoSistemaAtual.ToolTip = __SessionWEB.TituloSistema; ImgLogoSistemaAtual.NavigateUrl = "~/Index.aspx"; } try { // Busca dados do aluno Int64 alu_id = 0; if (__SessionWEB.__UsuarioWEB.responsavel && __SessionWEB.__UsuarioWEB.alu_id > 0) { alu_id = __SessionWEB.__UsuarioWEB.alu_id; } else if (__SessionWEB.__UsuarioWEB.responsavel) { alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.pes_idAluno); } else { alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.Usuario.pes_id); } bool boletimBloqueado = false; bool compromissoEstudoBloqueado = false; if (alu_id > 0) { compromissoEstudoBloqueado = !ACA_TipoCicloBO.VerificaSeExibeCompromissoAluno(alu_id); DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id); if (dtCurriculo.Rows.Count > 0) { string nomeAluno = dtCurriculo.Rows[0]["pes_nome"].ToString(); string parametroMatriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); string matriculaEstadual = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString(); string numeroMatricula = dtCurriculo.Rows[0]["alc_matricula"].ToString(); litNomeAluno.Text = __SessionWEB.__UsuarioWEB.responsavel ? (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "litNomeAluno.Text.Responsavel") : (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "litNomeAluno.Text.Aluno"); lblNomeAluno.Text = nomeAluno; lblMatricula.Text = string.IsNullOrEmpty(parametroMatriculaEstadual) ? numeroMatricula : matriculaEstadual; lblNroMatricula.Text = string.IsNullOrEmpty(parametroMatriculaEstadual) ? GetGlobalResourceObject("AreaAluno", "MasterPageAluno.lblNroMatricula.Text").ToString() : parametroMatriculaEstadual + ":"; } ACA_Aluno entityAluno = ACA_AlunoBO.GetEntity(new ACA_Aluno { alu_id = alu_id }); if (entityAluno.alu_possuiInformacaoSigilosa && entityAluno.alu_bloqueioBoletimOnline) { boletimBloqueado = true; } } if (__SessionWEB.__UsuarioWEB.responsavel && boletimBloqueado) { Response.Redirect("~/Index.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } // Se ja tiver logado mostra o linkbutton pra selecionar o aluno, senão esconde if (Session["Pes_Id_Responsavel"] != null) { if (Convert.ToInt32(Session["Qtde_Filhos_Responsavel"]) > 1) { lbSelecaoAlunos.Visible = true; } else { lbSelecaoAlunos.Visible = false; } imgLogoAreaAluno.Visible = false; imgLogoAreaResp.Visible = true; } else { lbSelecaoAlunos.Visible = false; imgLogoAreaAluno.Visible = true; imgLogoAreaResp.Visible = false; } // Busca dados do menu int mod_id = GetModuloId; string menuXml = SYS_ModuloBO.CarregarSiteMapXML2( __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Grupo.sis_id, __SessionWEB.__UsuarioWEB.Grupo.vis_id, mod_id ); if (String.IsNullOrEmpty(menuXml)) { menuXml = "<menus/>"; } menuXml = menuXml.Replace("url=\"~/", String.Concat("url=\"", ApplicationWEB._DiretorioVirtual)); // Verifica se o aluno está com o boletim bloqueado. Se estiver, retiro do menu. int indiceBoletim = menuXml.IndexOf("<menu id=\"Boletim"); if (boletimBloqueado && indiceBoletim >= 0) { menuXml = menuXml.Remove(indiceBoletim, menuXml.IndexOf("/>", indiceBoletim) - indiceBoletim + 2); } IDictionary <string, ICFG_Configuracao> configuracao; MSTech.GestaoEscolar.BLL.CFG_ConfiguracaoBO.Consultar(eConfig.Academico, out configuracao); if (configuracao.ContainsKey("AppURLAreaAlunoInfantil") && !string.IsNullOrEmpty(configuracao["AppURLAreaAlunoInfantil"].cfg_valor)) { string url = HttpContext.Current.Request.Url.AbsoluteUri; string configInfantil = configuracao["AppURLAreaAlunoInfantil"].cfg_valor; if (url.Contains(configInfantil)) { menuXml = menuXml.Replace("menu id=\"Boletim Online\"", "menu id=\"" + (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "MenuBoletimInfantil") + "\""); } } // Verifica se o aluno está com o compromisso estudo bloqueado. Se estiver, retiro do menu. int indiceCompromissoEstudo = menuXml.IndexOf("<menu id=\"Compromisso de Estudo"); if (compromissoEstudoBloqueado && indiceCompromissoEstudo >= 0) { menuXml = menuXml.Remove(indiceCompromissoEstudo, menuXml.IndexOf("/>", indiceCompromissoEstudo) - indiceCompromissoEstudo + 2); } XmlTextReader reader = new XmlTextReader(new StringReader(menuXml)); XPathDocument treeDoc = new XPathDocument(reader); XslCompiledTransform siteMap = new XslCompiledTransform(); if (__SessionWEB.__UsuarioWEB.responsavel) { siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMapPagesResponsavel.xslt")); } else { siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMapPages.xslt")); } string page = Page.Request.Url.ToString(); StringWriter sw = new StringWriter(); siteMap.Transform(treeDoc, null, sw); string result = sw.ToString(); //Carrega a lista de link e moduloId Dictionary <string, string> linkModulo = new Dictionary <string, string>(); string[] linkMenusXml = menuXml.Split(new[] { "<menu id=\"" }, StringSplitOptions.None); if (linkMenusXml.Length > 0) { bool primeiroItem = true; foreach (string item in linkMenusXml) { if (!primeiroItem) { string link2 = item.Substring(item.IndexOf("url=\"") + 5, item.Substring(item.IndexOf("url=\"") + 5).IndexOf("\"")); string modulo = item.Substring(0, item.IndexOf("\"")); linkModulo.Add(link2, modulo); } primeiroItem = false; } } //Carrega a lista de link e classe css atual Dictionary <string, string> linkClasse = new Dictionary <string, string>(); string[] linkMenus = result.Split(new[] { "<li class=\"txtSubMenu\"><a " }, StringSplitOptions.None); if (linkMenus.Length > 0) { bool primeiroItem = true; foreach (string item in linkMenus) { if (!primeiroItem) { string link2 = item.Substring(item.IndexOf("href=\"") + 6, item.Substring(item.IndexOf("href=\"") + 6).IndexOf("\"")); string classe = item.Substring(item.IndexOf("class=\"") + 7, item.Substring(item.IndexOf("class=\"") + 7).IndexOf("\"")); linkClasse.Add(link2, "class=\"" + classe + "\" " + "href=\"" + link2); } primeiroItem = false; } } //Troca a classe css atual do link conforme o que está configurado na tabela filtrando pelo modulo List <CFG_ModuloClasse> lstModClasse = new List <CFG_ModuloClasse>(); if (linkModulo.Count > 0 && linkClasse.Count > 0) { lstModClasse = CFG_ModuloClasseBO.SelecionaAtivos(ApplicationWEB.AreaAlunoSistemaID); foreach (var item in linkClasse) { string modulo = linkModulo[item.Key]; if (!string.IsNullOrEmpty(modulo) && lstModClasse.Any(p => p.mod_nome == modulo)) { string classeCfg = lstModClasse.Where(p => p.mod_nome == modulo).FirstOrDefault().mdc_classe; if (!string.IsNullOrEmpty(classeCfg)) { result = result.Replace(item.Value, "class=\"link " + classeCfg + "\" " + "href=\"" + item.Key); } } } } int indexPagina = result.IndexOf(Page.Request.Url.ToString()) > 0 ? result.IndexOf(Page.Request.Url.ToString()) : result.IndexOf(Page.Request.UrlReferrer.ToString()); int indexClasse = 0; if (indexPagina > 0) { indexClasse = result.IndexOf("txtSubMenu", (indexPagina - 60), result.Length - indexPagina); } string resultClasse = result.Substring(indexClasse); // Busca menu que está sendo chamado, para adicionar a classe ativo para a aba selecionada if (indexClasse > 0) { result = result.Replace(resultClasse, "ativo " + resultClasse); } Control ctrl = Page.ParseControl(result); menuAreaAlunoComponentes.Controls.Add(ctrl); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); } }
/// <summary> /// Faz as validações necessárias. /// </summary> /// <returns></returns> private bool _Validar() { if (UCComboCargo1.Valor <= 0) { _lblMessage.Text = UtilBO.GetErroMessage("Cargo é obrigatório.", UtilBO.TipoMensagem.Alerta); return(false); } if (string.IsNullOrEmpty(txtUA.Text.Trim())) { _lblMessage.Text = UtilBO.GetErroMessage("Unidade administrativa é obrigatório.", UtilBO.TipoMensagem.Alerta); return(false); } if (string.IsNullOrEmpty(txtVigenciaIni.Text.Trim())) { _lblMessage.Text = UtilBO.GetErroMessage("Vigência inicial é obrigatório.", UtilBO.TipoMensagem.Alerta); return(false); } if (RHU_ColaboradorBO.VerificaMatriculaExistente(VS_col_id, txtMatricula.Text, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { _lblMessage.Text = UtilBO.GetErroMessage("Outro docente/colaborador já possui um vínculo com esta matrícula.", UtilBO.TipoMensagem.Alerta); return(false); } if (ExisteCargoComMesmasInformacoes()) { _lblMessage.Text = UtilBO.GetErroMessage("Já existe um vínculo com as mesmas informações.", UtilBO.TipoMensagem.Alerta); return(false); } if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_COLABORADOR_VINCULO_INTEGRADO_VIRTUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id) && (ckbVinculoSede.Checked && ckbComplementacaoCargaHoraria.Checked)) { _lblMessage.Text = UtilBO.GetErroMessage("Não é permitido selecionar as opções 'Vínculo sede' e 'Complementação de carga horária' no mesmo vínculo.", UtilBO.TipoMensagem.Alerta); return(false); } cvVigenciIni.Validate(); if (!cvVigenciIni.IsValid) { return(false); } DateTime dtVigenciaInicio = Convert.ToDateTime(txtVigenciaIni.Text); DateTime dtVigenciaFim = string.IsNullOrEmpty(txtVigenciaFim.Text) ? new DateTime() : Convert.ToDateTime(txtVigenciaFim.Text); if (dtVigenciaFim != new DateTime()) { cvVigenciaFim.Validate(); if (!cvVigenciaFim.IsValid) { return(false); } if (dtVigenciaInicio > dtVigenciaFim) { _lblMessage.Text = UtilBO.GetErroMessage("Vigência inicial não pode ser maior que a vigência final.", UtilBO.TipoMensagem.Alerta); return(false); } } if (_VS_dataAdmissao != new DateTime()) { if (dtVigenciaInicio < _VS_dataAdmissao) { _lblMessage.Text = UtilBO.GetErroMessage("Vigência inicial não pode ser menor que a data de admissão.", UtilBO.TipoMensagem.Alerta); return(false); } if (dtVigenciaFim != new DateTime()) { if (dtVigenciaFim < _VS_dataAdmissao) { _lblMessage.Text = UtilBO.GetErroMessage("Vigência final não pode ser menor que a data de admissão.", UtilBO.TipoMensagem.Alerta); return(false); } } } if (_VS_dataDemissao != new DateTime()) { if (dtVigenciaInicio > _VS_dataDemissao) { _lblMessage.Text = UtilBO.GetErroMessage("Vigência inicial não pode ser maior que a data de demissão.", UtilBO.TipoMensagem.Alerta); return(false); } if (!string.IsNullOrEmpty(txtVigenciaFim.Text)) { if (Convert.ToDateTime(txtVigenciaFim.Text) > _VS_dataDemissao) { _lblMessage.Text = UtilBO.GetErroMessage("Vigência final não pode ser maior que a data de demissão.", UtilBO.TipoMensagem.Alerta); return(false); } } } if (ddlCargoSituacao.SelectedValue == "-1") { _lblMessage.Text = UtilBO.GetErroMessage("Situação é obrigatório.", UtilBO.TipoMensagem.Alerta); return(false); } _lblMessage.Visible = false; return(true); }
/// <summary> /// Handles the Load event of the Page control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> /// <author>juliano.real</author> /// <datetime>12/10/2013-09:20</datetime> /// <exception cref="System.ComponentModel.DataAnnotations.ValidationException">Usuário não autorizado a exibir o area aluno.</exception> protected void Page_Load(object sender, EventArgs e) { try { String sMensagemLog = ""; divResponsavel.Visible = __SessionWEB.__UsuarioWEB.responsavel; Int64 alu_id = 0; long arq_idFoto = 0; if (__SessionWEB.__UsuarioWEB.responsavel && __SessionWEB.__UsuarioWEB.alu_id > 0) { alu_id = __SessionWEB.__UsuarioWEB.alu_id; PES_Pessoa pesAluno = new PES_Pessoa { pes_id = __SessionWEB.__UsuarioWEB.pes_idAluno }; PES_PessoaBO.GetEntity(pesAluno); arq_idFoto = pesAluno.arq_idFoto; } else if (__SessionWEB.__UsuarioWEB.responsavel) { alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.pes_idAluno); PES_Pessoa pesAluno = new PES_Pessoa { pes_id = __SessionWEB.__UsuarioWEB.pes_idAluno }; PES_PessoaBO.GetEntity(pesAluno); arq_idFoto = pesAluno.arq_idFoto; } else { alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.Usuario.pes_id); PES_Pessoa pesAluno = new PES_Pessoa { pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id }; PES_PessoaBO.GetEntity(pesAluno); arq_idFoto = pesAluno.arq_idFoto; } if (alu_id <= 0) { sMensagemLog = "Usuário não autorizado a exibir Area do Aluno: usu_id: " + __SessionWEB.__UsuarioWEB.Usuario.usu_id.ToString(); throw new ValidationException("Usuário não autorizado a exibir o Area do Aluno."); } ACA_Aluno entityAluno = ACA_AlunoBO.GetEntity(new ACA_Aluno { alu_id = alu_id }); bool boletimBloqueado = false; bool compromissoEstudoBloqueado = !ACA_TipoCicloBO.VerificaSeExibeCompromissoAluno(alu_id); if (entityAluno.alu_possuiInformacaoSigilosa && entityAluno.alu_bloqueioBoletimOnline) { if (__SessionWEB.__UsuarioWEB.responsavel) { Fieldset2.Visible = true; lblBoletimNaoDisponivel.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("AreaAluno", "Index.lblBoletimNaoDisponivel.Text").ToString(), UtilBO.TipoMensagem.Informacao); Fieldset1.Visible = false; return; } else { boletimBloqueado = true; } } if (arq_idFoto > 0) { string imagem = ""; CFG_Arquivo arquivo = new CFG_Arquivo { arq_id = arq_idFoto }; CFG_ArquivoBO.GetEntity(arquivo); byte[] bufferData = arquivo.arq_data; using (MemoryStream stream = new MemoryStream(bufferData)) { System.Drawing.Image img = System.Drawing.Image.FromStream(stream); imagem = Convert.ToBase64String(stream.ToArray()); } imgFotoAluno.ImageUrl = "data:" + arquivo.arq_typeMime + ";base64," + imagem; } DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id); if (dtCurriculo.Rows.Count <= 0) { sMensagemLog = "Aluno não possui dados para a Area do Aluno: alu_id: " + alu_id.ToString(); throw new ValidationException("Aluno não possui dados para a Area do Aluno."); } string nomeAluno = dtCurriculo.Rows[0]["pes_nome"].ToString(); string matriculaEstadual = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString(); string numeroMatricula = dtCurriculo.Rows[0]["alc_matricula"].ToString(); //Nome Aluno lblInformacaoAluno.Text = "Aluno: <b>" + nomeAluno + "</b><br/>"; //Matricula if (!string.IsNullOrEmpty(ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id))) { if (!string.IsNullOrEmpty(matriculaEstadual)) { lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoMatriculaEstadual(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": " + "</b>" + matriculaEstadual + " "; } } else { if (!string.IsNullOrEmpty(numeroMatricula)) { lblInformacaoAluno.Text += GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": <b>" + numeroMatricula + "</b>" + " "; } } __SessionWEB.__UsuarioWEB.alu_id = Convert.ToInt64(dtCurriculo.Rows[0]["alu_id"].ToString()); __SessionWEB.__UsuarioWEB.esc_id = Convert.ToInt32(dtCurriculo.Rows[0]["esc_id"].ToString()); __SessionWEB.__UsuarioWEB.uni_id = Convert.ToInt32(dtCurriculo.Rows[0]["uni_id"].ToString()); __SessionWEB.__UsuarioWEB.mtu_id = Convert.ToInt32(dtCurriculo.Rows[0]["mtu_id"].ToString()); __SessionWEB.__UsuarioWEB.tpc_id = Convert.ToInt32(string.IsNullOrEmpty(dtCurriculo.Rows[0]["tpc_id"].ToString()) ? "-1" : dtCurriculo.Rows[0]["tpc_id"].ToString()); int mod_id = GetModuloId; string menuXml = SYS_ModuloBO.CarregarSiteMapXML2( __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Grupo.sis_id, __SessionWEB.__UsuarioWEB.Grupo.vis_id, mod_id ); if (String.IsNullOrEmpty(menuXml)) { menuXml = "<menus/>"; } menuXml = menuXml.Replace("url=\"~/", String.Concat("url=\"", ApplicationWEB._DiretorioVirtual)); // Verifica se o aluno está com o boletim bloqueado. Se estiver, retiro do menu. int indiceBoletim = menuXml.IndexOf("<menu id=\"Boletim"); if (boletimBloqueado && indiceBoletim >= 0) { menuXml = menuXml.Remove(indiceBoletim, menuXml.IndexOf("/>", indiceBoletim) - indiceBoletim + 2); } IDictionary <string, ICFG_Configuracao> configuracao; MSTech.GestaoEscolar.BLL.CFG_ConfiguracaoBO.Consultar(eConfig.Academico, out configuracao); if (configuracao.ContainsKey("AppURLAreaAlunoInfantil") && !string.IsNullOrEmpty(configuracao["AppURLAreaAlunoInfantil"].cfg_valor)) { string url = HttpContext.Current.Request.Url.AbsoluteUri; string configInfantil = configuracao["AppURLAreaAlunoInfantil"].cfg_valor; if (url.Contains(configInfantil)) { menuXml = menuXml.Replace("menu id=\"Boletim Online\"", "menu id=\"" + (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "MenuBoletimInfantil") + "\""); } } // Verifica se o aluno está com o compromisso estudo bloqueado. Se estiver, retiro do menu. int indiceCompromissoEstudo = menuXml.IndexOf("<menu id=\"Compromisso de Estudo"); if (compromissoEstudoBloqueado && indiceCompromissoEstudo >= 0) { menuXml = menuXml.Remove(indiceCompromissoEstudo, menuXml.IndexOf("/>", indiceCompromissoEstudo) - indiceCompromissoEstudo + 2); } XmlTextReader reader = new XmlTextReader(new StringReader(menuXml)); XPathDocument treeDoc = new XPathDocument(reader); XslCompiledTransform siteMap = new XslCompiledTransform(); if (__SessionWEB.__UsuarioWEB.responsavel) { siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMapResponsavel.xslt")); } else { siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMap.xslt")); } StringWriter sw = new StringWriter(); siteMap.Transform(treeDoc, null, sw); string result = sw.ToString(); List <CFG_ModuloClasse> lstModClasse = CFG_ModuloClasseBO.SelecionaAtivos(ApplicationWEB.AreaAlunoSistemaID); if (lstModClasse.Any()) { //Carrega a lista de link e moduloId Dictionary <string, string> linkModulo = new Dictionary <string, string>(); string[] linkMenusXml = menuXml.Split(new[] { "<menu id=\"" }, StringSplitOptions.None); if (linkMenusXml.Length > 0) { bool primeiroItem = true; foreach (string item in linkMenusXml) { if (!primeiroItem) { string link = item.Substring(item.IndexOf("url=\"") + 5, item.Substring(item.IndexOf("url=\"") + 5).IndexOf("\"")); string modulo = item.Substring(0, item.IndexOf("\"")); linkModulo.Add(link, modulo); } primeiroItem = false; } } //Carrega a lista de link e classe css atual Dictionary <string, string> linkClasse = new Dictionary <string, string>(); string[] linkMenus = result.Split(new[] { "<li class=\"txtSubMenu\"><a " }, StringSplitOptions.None); if (linkMenus.Length > 0) { bool primeiroItem = true; foreach (string item in linkMenus) { if (!primeiroItem) { string link = item.Substring(item.IndexOf("href=\"") + 6, item.Substring(item.IndexOf("href=\"") + 6).IndexOf("\"")); string classe = item.Substring(item.IndexOf("class=\"") + 7, item.Substring(item.IndexOf("class=\"") + 7).IndexOf("\"")); linkClasse.Add(link, "class=\"" + classe + "\" " + "href=\"" + link); } primeiroItem = false; } } //Troca a classe css atual do link conforme o que está configurado na tabela filtrando pelo modulo if (linkModulo.Count > 0 && linkClasse.Count > 0) { foreach (var item in linkClasse) { string modulo = linkModulo[item.Key]; if (!string.IsNullOrEmpty(modulo) && lstModClasse.Any(p => p.mod_nome == modulo)) { string classeCfg = lstModClasse.Where(p => p.mod_nome == modulo).FirstOrDefault().mdc_classe; if (!string.IsNullOrEmpty(classeCfg)) { result = result.Replace(item.Value, "class=\"link " + classeCfg + "\" " + "href=\"" + item.Key); } } } } } //Control ctrl = Page.ParseControl(result); _lblSiteMap.Text = result; if (!string.IsNullOrEmpty(ApplicationWEB.UrlAcessoExternoBoletimOnline)) { string[] crp_ordem = ApplicationWEB.Crp_ordem_AcessoExternoBoletimOnline; // Só exibe o ícone caso o aluno esteja em alguma das séries parametrizadas. if (crp_ordem.Contains(dtCurriculo.Rows[0]["crp_ordem"].ToString())) { // Seta um nó de menu para acesso ao site externo. ulItemAcessoExterno.Visible = true; lblAcessoExterno.Text = GetGlobalResourceObject("AreaAluno", "Index.lblAcessoExternoNome").ToString(); lnkAcessoExterno.HRef = ApplicationWEB.UrlAcessoExternoBoletimOnline; h2TituloAcessoExterno.InnerHtml = GetGlobalResourceObject("AreaAluno", "Index.lblAcessoExternoNome").ToString(); } } sMensagemLog = "Area do Aluno exibida para aluno: alu_id: " + alu_id.ToString(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Query, sMensagemLog); } catch (ValidationException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); btnVoltar.PostBackUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx"; btnVoltar.Visible = true; divInformacao.Visible = false; HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao exibir a Area do aluno", UtilBO.TipoMensagem.Erro); btnVoltar.PostBackUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx"; btnVoltar.Visible = true; divInformacao.Visible = false; HttpContext.Current.ApplicationInstance.CompleteRequest(); } }
/// <summary> /// Gera o relatorio com base nos filtros selecionados. /// </summary> private void GerarRel() { SalvarBusca(); bool turmaRegencia = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(UCComboTurma1.Valor[0], null, ApplicationWEB.AppMinutosCacheLongo).Any(t => t.tud_tipo == (byte)TurmaDisciplinaTipo.Regencia); // mostra a quantidade de dias letivos no ano int numeroDiasUteis = GestaoEscolarUtilBO.NumeroDeDiasUteis(UCComboCalendario1.Valor, UCComboUAEscola.Esc_ID, UCComboUAEscola.Uni_ID, __SessionWEB.__UsuarioWEB.Usuario.ent_id, turmaRegencia); string parameter = string.Empty; string parametroAtivDiversificada = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.TIPO_EVENTO_ATIVIDADE_DIVERSIFICADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id); string report = ((int)MSTech.GestaoEscolar.BLL.ReportNameGestaoAcademica.DivergenciasRematriculas).ToString(); Guid uad_idSuperior = UCComboUAEscola.Uad_ID; string DRE = UCComboUAEscola.DdlUA.SelectedItem.Text; if (uad_idSuperior.Equals(Guid.Empty)) { ESC_Escola esc = new ESC_Escola { esc_id = UCComboUAEscola.Esc_ID }; ESC_EscolaBO.GetEntity(esc); uad_idSuperior = esc.uad_idSuperiorGestao; if (uad_idSuperior.Equals(Guid.Empty)) { SYS_UnidadeAdministrativa uad = new SYS_UnidadeAdministrativa { uad_id = esc.uad_id, ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id }; SYS_UnidadeAdministrativaBO.GetEntity(uad); uad_idSuperior = uad.uad_idSuperior; } SYS_UnidadeAdministrativa uadSuperior = new SYS_UnidadeAdministrativa { uad_id = uad_idSuperior, ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id }; SYS_UnidadeAdministrativaBO.GetEntity(uadSuperior); DRE = uadSuperior.uad_nome; } parameter = "cal_id=" + UCComboCalendario1.Valor.ToString() + "&uad_idSuperior=" + uad_idSuperior.ToString() + "&esc_id=" + UCComboUAEscola.Esc_ID.ToString() + "&uni_id=" + UCComboUAEscola.Uni_ID.ToString() + "&cur_id=" + UCComboCursoCurriculo1.Valor[0].ToString() + "&crr_id=" + UCComboCursoCurriculo1.Valor[1].ToString() + "&crp_id=" + UCComboCurriculoPeriodo1.Valor[2].ToString() + "&mostraCodigoEscola=" + ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + "&tur_id=" + UCComboTurma1.Valor[0].ToString() + "&logo=" + String.Concat(MSTech.GestaoEscolar.BLL.CFG_ServidorRelatorioBO.CarregarServidorRelatorioPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo).srr_pastaRelatorios.ToString() , ApplicationWEB.LogoRelatorioSSRS) + "&mensagemAlerta=" + GetGlobalResourceObject("Relatorios", "DivergenciasRematriculas.Busca.MensagemAviso") + "&periodoCurso=" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + "&nomeMunicipio=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Municipio") + "&nomeSecretaria=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoRetrato.Secretaria") + "&cal_ano=" + UCComboCalendario1.Cal_ano.ToString() + "&ent_id=" + __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString() + "&adm=" + (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao) + "&usu_id=" + __SessionWEB.__UsuarioWEB.Usuario.usu_id + "&gru_id=" + __SessionWEB.__UsuarioWEB.Grupo.gru_id + "&DRE=" + DRE; MSTech.GestaoEscolar.BLL.CFG_RelatorioBO.CallReport("Relatorios", report, parameter, HttpContext.Current); }
public static List <sComboPeriodoCalendario> SelecionaPor_PeriodoVigente_EventoEfetivacaoVigente ( int cal_id , long tud_id , long tur_id , Guid ent_id , bool VerificaEscolaCalendarioPeriodo , int appMinutosCacheLongo = 0 , long doc_id = -1 ) { // Tipo de evento de efetivação de notas, configurado nos parâmetros. int tev_idEfetivacao = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, ent_id); List <sComboPeriodoCalendario> dados = null; if (appMinutosCacheLongo > 0) { if (HttpContext.Current != null) { // Chave padrão do cache - nome do método + parâmetros. string chave = RetornaChaveCache_SelecionaPor_PeriodoVigente_EventoEfetivacaoVigente(cal_id, tud_id, tev_idEfetivacao, tur_id, VerificaEscolaCalendarioPeriodo, doc_id); object cache = HttpContext.Current.Cache[chave]; if (cache == null) { ACA_TipoPeriodoCalendarioDAO dao = new ACA_TipoPeriodoCalendarioDAO(); DataTable dtDados = dao.SelectBy_PeriodoVigente_EventoEfetivacaoVigente(cal_id, tud_id, tev_idEfetivacao, tur_id, VerificaEscolaCalendarioPeriodo, doc_id); dados = (from DataRow dr in dtDados.Rows select new sComboPeriodoCalendario { tpc_id = string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? -1 : Convert.ToInt32(dr["tpc_id"]), tpc_nome = dr["tpc_nome"].ToString(), cap_descricao = dr["cap_descricao"].ToString(), tpc_cap_id = dr["tpc_cap_id"].ToString(), PeriodoAtual = string.IsNullOrEmpty(dr["PeriodoAtual"].ToString()) ? false : Convert.ToBoolean(dr["PeriodoAtual"]) }).ToList(); // Adiciona cache com validade do tempo informado na configuração. HttpContext.Current.Cache.Insert(chave, dados, null, DateTime.Now.AddMinutes(appMinutosCacheLongo), System.Web.Caching.Cache.NoSlidingExpiration); } else { dados = (List <sComboPeriodoCalendario>)cache; } } } if (dados == null) { // Se não carregou pelo cache, seleciona os dados do banco. ACA_TipoPeriodoCalendarioDAO dao = new ACA_TipoPeriodoCalendarioDAO(); DataTable dtDados = dao.SelectBy_PeriodoVigente_EventoEfetivacaoVigente(cal_id, tud_id, tev_idEfetivacao, tur_id, VerificaEscolaCalendarioPeriodo, doc_id); dados = (from DataRow dr in dtDados.Rows select new sComboPeriodoCalendario { tpc_id = string.IsNullOrEmpty(dr["tpc_id"].ToString()) ? -1 : Convert.ToInt32(dr["tpc_id"]), tpc_nome = dr["tpc_nome"].ToString(), cap_descricao = dr["cap_descricao"].ToString(), tpc_cap_id = dr["tpc_cap_id"].ToString(), PeriodoAtual = string.IsNullOrEmpty(dr["PeriodoAtual"].ToString()) ? false : Convert.ToBoolean(dr["PeriodoAtual"]) }).ToList(); } return(dados); }
/// <summary> /// Carrega os dados de lançamento de frequência externa do aluno /// </summary> private void CarregarLancamento() { List <DadosLancamentoFreqExterna> lDadosAluno = CLS_AlunoFrequenciaExternaBO.SelecionaDadosAlunoLancamentoFrequenciaExterna(VS_alu_id, VS_mtu_id); if (lDadosAluno.Any()) { int cur_id = lDadosAluno.First().cur_id; ACA_Curso cur = new ACA_Curso { cur_id = cur_id }; ACA_CursoBO.GetEntity(cur); //Verifica se o nível de ensino do curso é do ensino infantil. bool ensinoInfantil = cur.tne_id == ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_NIVEL_ENSINO_EDUCACAO_INFANTIL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); #region Períodos var periodos = from DadosAlunoEntradaRede item in VS_ListaDadosPeriodo orderby item.tpc_ordem group item by item.tpc_id into g select new { tpc_id = g.Key , tpc_nome = g.First().cap_descricao , g.First().tpc_ordem }; rptPeriodosNomes.DataSource = periodos; rptPeriodosColunasFixas.DataSource = periodos; rptPeriodosNomesEnriquecimento.DataSource = periodos; rptPeriodosNomesEI.DataSource = periodos; rptPeriodosColunasFixasEnriquecimento.DataSource = periodos; rptPeriodosColunasFixasEI.DataSource = periodos; rptPeriodosNomes.DataBind(); rptPeriodosColunasFixas.DataBind(); rptPeriodosNomesEnriquecimento.DataBind(); rptPeriodosNomesEI.DataBind(); rptPeriodosColunasFixasEnriquecimento.DataBind(); rptPeriodosColunasFixasEI.DataBind(); #endregion Períodos #region Disciplinas bool controleOrdemDisciplinas = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_ORDEM_DISCIPLINAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); var todasDisciplinas = (from DadosLancamentoFreqExterna item in lDadosAluno where item.tur_id > 0 && item.tud_tipo != (byte)TurmaDisciplinaTipo.Experiencia orderby item.tud_tipo, item.Disciplina group item by item.Disciplina into g select new { tud_id = g.First().tud_id , Disciplina = g.Key , tds_ordem = g.First().tds_ordem , tud_tipo = g.First().tud_tipo , regencia = g.First().tud_tipo == (byte)TurmaDisciplinaTipo.Regencia || g.First().tud_tipo == (byte)TurmaDisciplinaTipo.ComponenteRegencia || (g.First().tud_tipo == (byte)TurmaDisciplinaTipo.DocenteEspecificoComplementacaoRegencia && controleOrdemDisciplinas) ? 1 : 2 , enriquecimentoCurricular = g.First().EnriquecimentoCurricular , frequencias = (from per in periodos.ToList() orderby per.tpc_ordem select new { per.tpc_id , frequencia = (from DadosLancamentoFreqExterna bFrequencia in lDadosAluno where bFrequencia.Disciplina == g.Key && bFrequencia.tpc_id == per.tpc_id select new { bFrequencia.numeroAulas , bFrequencia.numeroFaltas , numeroAulasPrevistas = bFrequencia.possuiLancamentoAulasPrevistas ? bFrequencia.numeroAulasPrevistas.ToString() : "-" , bFrequencia.possuiLancamentoAulasPrevistas , tud_Tipo = g.First().tud_tipo , bFrequencia.tud_id , bFrequencia.mtu_id , bFrequencia.mtd_id , bFrequencia.tud_idRegencia , bFrequencia.mtd_idRegencia , afx_id = bFrequencia.ID , enriquecimentoCurricular = bFrequencia.EnriquecimentoCurricular }).FirstOrDefault() }) }); var experiencias = (from DadosLancamentoFreqExterna item in lDadosAluno where item.tur_id > 0 && item.tud_tipo == (byte)TurmaDisciplinaTipo.Experiencia orderby item.tud_tipo, item.Disciplina group item by item.Disciplina into g select new { tud_id = g.First().tud_id , Disciplina = g.Key , tds_ordem = g.First().tds_ordem , tud_tipo = g.First().tud_tipo , regencia = g.First().tud_tipo == (byte)TurmaDisciplinaTipo.Regencia || g.First().tud_tipo == (byte)TurmaDisciplinaTipo.ComponenteRegencia || (g.First().tud_tipo == (byte)TurmaDisciplinaTipo.DocenteEspecificoComplementacaoRegencia && controleOrdemDisciplinas) ? 1 : 2 , enriquecimentoCurricular = g.First().EnriquecimentoCurricular , frequencias = (from per in periodos.ToList() orderby per.tpc_ordem select new { per.tpc_id , frequencia = (from DadosLancamentoFreqExterna bFrequencia in lDadosAluno where bFrequencia.Disciplina == g.Key && bFrequencia.tpc_id == per.tpc_id select new { bFrequencia.numeroAulas , bFrequencia.numeroFaltas , numeroAulasPrevistas = bFrequencia.possuiLancamentoAulasPrevistas ? bFrequencia.numeroAulasPrevistas.ToString() : "-" , bFrequencia.possuiLancamentoAulasPrevistas , tud_Tipo = g.First().tud_tipo , bFrequencia.tud_id , bFrequencia.mtu_id , bFrequencia.mtd_id , bFrequencia.tud_idRegencia , bFrequencia.mtd_idRegencia , afx_id = bFrequencia.ID , enriquecimentoCurricular = bFrequencia.EnriquecimentoCurricular }).FirstOrDefault() }) }); var disciplinas = (from item in todasDisciplinas where !item.enriquecimentoCurricular //Retira as que são de enriquecimento curricular select item ); // Realiza uma ordenação posterior em que so importa se a disciplina é ou nao regencia/componente da regencia para manter o agrupamento var dispOrdenadas = from item in disciplinas orderby item.regencia, controleOrdemDisciplinas ? item.tds_ordem.ToString() : item.Disciplina select item; // "Agrupa" a frequência das disciplinas componentes e complementares à regência. QtComponenteRegencia = dispOrdenadas.Count(p => ((byte)TurmaDisciplinaTipo.ComponenteRegencia == p.tud_tipo || (byte)TurmaDisciplinaTipo.DocenteEspecificoComplementacaoRegencia == p.tud_tipo)); // "Agrupa" a frequência das disciplinas QtComponentes = dispOrdenadas.Count(); if (!ensinoInfantil) { divDisciplinas.Visible = true; rptDisciplinas.DataSource = dispOrdenadas; rptDisciplinas.DataBind(); } else { divDisciplinas.Visible = false; } #endregion Disciplinas #region Disciplinas de enriquecimento curricular e experiências var disciplinasEnriquecimentoCurricular = (from item in todasDisciplinas where item.enriquecimentoCurricular //Verifica se são de enriquecimento curricular select item ); if (disciplinasEnriquecimentoCurricular.Count() > 0 || experiencias.Count() > 0) { divEnriquecimentoCurricular.Visible = true; // Realiza uma ordenação posterior em que so importa se a disciplina é ou nao regencia/componente da regencia para manter o agrupamento var dispOrdenadasEnriquecimento = from item in disciplinasEnriquecimentoCurricular orderby item.regencia, controleOrdemDisciplinas ? item.tds_ordem.ToString() : item.Disciplina select item; rptDisciplinasEnriquecimentoCurricular.DataSource = dispOrdenadasEnriquecimento; rptDisciplinasEnriquecimentoCurricular.DataBind(); rptDisciplinasExperiencias.DataSource = experiencias.OrderBy(p => controleOrdemDisciplinas ? p.tds_ordem.ToString() : p.Disciplina); rptDisciplinasExperiencias.DataBind(); } else { divEnriquecimentoCurricular.Visible = false; } #endregion Disciplinas de enriquecimento curricular #region Ensino Infantil if (ensinoInfantil) { divEnsinoInfantil.Visible = true; rptDisciplinasEnsinoInfantil.DataSource = dispOrdenadas; rptDisciplinasEnsinoInfantil.DataBind(); } else { divEnsinoInfantil.Visible = false; } #endregion } }
protected void Page_Load(object sender, EventArgs e) { try { if (!HttpContext.Current.User.Identity.IsAuthenticated) { string provider = IdentitySettingsConfig.IDSSettings.AuthenticationType; Context.GetOwinContext().Authentication.Challenge(provider); } else { if (!UserIsAuthenticated()) { throw new Exception("Usuário não encontrado!"); } string prefixoRESP = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_RESPONSAVEL_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); bool responsavel = __SessionWEB.__UsuarioWEB.Usuario.usu_login.Contains(prefixoRESP); // Se selecionou para logar como responsável, verifica se esse ele é responsável por um aluno só, // ou caso tenha mais, redireciona para uma tela de selação de alunos if (responsavel) { __SessionWEB.__UsuarioWEB.responsavel = true; string prefixoAluno = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); //Troca o prefixo de responsável por aluno var regex = new Regex(Regex.Escape(prefixoRESP)); var loginAluno = regex.Replace(__SessionWEB.__UsuarioWEB.Usuario.usu_login, prefixoAluno, 1); SYS_Usuario entityUsuarioAluno = new SYS_Usuario { ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, usu_login = loginAluno }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuarioAluno); __SessionWEB.__UsuarioWEB.pes_idAluno = entityUsuarioAluno.pes_id; DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(__SessionWEB.__UsuarioWEB.Usuario.pes_id); Session["Pes_Id_Responsavel"] = __SessionWEB.__UsuarioWEB.Usuario.pes_id.ToString(); Session["Qtde_Filhos_Responsavel"] = dtAlunosDoResponsavel.Rows.Count; if (dtAlunosDoResponsavel.Rows.Count > 1) { RedirecionarLogin(true); return; } } RedirecionarLogin(false); return; } } 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 entrar no sistema.", UtilBO.TipoMensagem.Erro); } }
/// <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); }
/// <summary> /// Carrega uma nova avaliação ou uma avaliação para edição. /// </summary> /// <param name="tur_id"></param> /// <param name="tud_id"></param> /// <param name="tnt_id"></param> /// <param name="tud_tipo"></param> /// <param name="permiteEditar"></param> /// <param name="tpc_id"></param> /// <param name="cal_id"></param> /// <param name="tdt_posicao"></param> /// <param name="cur_id"></param> /// <param name="crr_id"></param> /// <param name="crp_id"></param> public void CarregarAvaliacao(long tur_id , long tud_id , int tnt_id , byte tur_tipo , byte tud_tipo , bool permiteEditar , int tpc_id , int cal_id , byte tdt_posicao , int cur_id , int crr_id , int crp_id) { try { VS_tud_id = tud_id; VS_tnt_id = tnt_id; LimparCampos(); HabilitarCampos(permiteEditar); lblComponenteAtAvaliativa.Visible = ddlComponenteAtAvaliativa.Visible = tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.Regencia || tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.ComponenteRegencia; chkAtividadeExclusiva.Visible = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PERMITIR_ATIVIDADES_AVALIATIVAS_EXCLUSIVAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); fdsHabilidadesRelacionadas.Visible = tur_tipo != (byte)TUR_TurmaTipo.EletivaAluno && ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.RELACIONAR_HABILIDADES_AVALIACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); CarregarHabilidadesAvaliacao(tur_id, tpc_id, cal_id, tdt_posicao, cur_id, crr_id, crp_id); UCComboTipoAtividadeAvaliativa.MostrarMessageOutros = false; if (tnt_id > 0) { CLS_TurmaNota entity = new CLS_TurmaNota { tud_id = Convert.ToInt64(VS_tud_id), tnt_id = Convert.ToInt32(VS_tnt_id) }; CLS_TurmaNotaBO.GetEntity(entity); UCComboTipoAtividadeAvaliativa.CarregaTipoAtividadeAvaliativaAtivosMaisInativo(true, entity.tav_id, VS_tud_id); UCComboTipoAtividadeAvaliativa.PermiteEditar = false; if (tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.ComponenteRegencia) { if (entity.tud_id > 0) { IEnumerable <string> x = from ListItem lItem in ddlComponenteAtAvaliativa.Items where lItem.Value.Split(';')[0].Equals(tur_id.ToString()) && lItem.Value.Split(';')[1].Equals(entity.tud_id.ToString()) select lItem.Value; if (x.Count() > 0) { ddlComponenteAtAvaliativa.SelectedValue = x.First(); } } ddlComponenteAtAvaliativa.Enabled = false; } txtData.Text = entity.tnt_data == new DateTime() ? string.Empty : entity.tnt_data.ToString(); UCComboTipoAtividadeAvaliativa.Valor = entity.tav_id; txtNomeAtividade.Text = entity.tnt_nome; txtConteudoAtividade.Text = entity.tnt_descricao; chkAtividadeExclusiva.Checked = entity.tnt_exclusiva; } else { UCComboTipoAtividadeAvaliativa.CarregarTipoAtividadeAvaliativa(true, VS_tud_id); UCComboTipoAtividadeAvaliativa.Valor = -1; } updAtividade.Update(); if (txtData.Visible) { txtData.Focus(); } else if (ddlComponenteAtAvaliativa.Visible) { ddlComponenteAtAvaliativa.Focus(); } else { UCComboTipoAtividadeAvaliativa.Focus(); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessageAtividade.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("UserControl", "LancamentoAvaliacao.UCCadastroAvaliacao.lblMessageAtividade.ErroCarregar").ToString(), UtilBO.TipoMensagem.Erro); } }
protected void _btnSalvar_Click(object sender, EventArgs e) { if (ValidarAlterarSenha()) { try { // Carrega os dados do usuário SYS_Usuario entityUsuario = new SYS_Usuario { ent_id = UCComboEntidade1.Valor , usu_login = (RadioButtonList1.SelectedIndex == 0 ? ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, Guid.Empty) : ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_RESPONSAVEL_AREA_ALUNO, Guid.Empty)) + txtLogin.Text }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuario); // Configura criptografia da senha eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(entityUsuario.usu_criptografia), true); if (!Enum.IsDefined(typeof(eCriptografa), criptografia)) { criptografia = eCriptografa.TripleDES; } // Verifica a senha do usuário comparando com a senha atual if (!UtilBO.EqualsSenha(entityUsuario.usu_senha, UtilBO.CriptografarSenha(_txtSenhaAtual.Text, criptografia), criptografia)) { string mensagemSenhaAtualInvalida = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemSenhaAtualIncorreta); _lblMessageAlterarSenha.Text = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSenhaAtualInvalida) ? "Senha atual inválida." : mensagemSenhaAtualInvalida, UtilBO.TipoMensagem.Erro); _updAlterarSenha.Update(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro ao alterar senha. Senha atual inválida."); } else { // Atualiza dados do usuário entityUsuario.usu_situacao = 1; entityUsuario.usu_senha = _txtNovaSenha.Text; entityUsuario.usu_dataAlteracao = DateTime.Now; SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, entityUsuario.usu_integracaoAD == (byte)SYS_UsuarioBO.eIntegracaoAD.IntegradoADReplicacaoSenha); // Configura usuário na Session LoadSession(entityUsuario); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha alterada com sucesso."); string mensagemSenhaAlterada = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.LoginMensagemSenhaAlteradaSucesso); __SessionWEB.PostMessages = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSenhaAlterada) ? "Senha alterada com sucesso." : mensagemSenhaAlterada, UtilBO.TipoMensagem.Sucesso); // Autenticação SAML. SYS_UsuarioBO.AutenticarUsuario(entityUsuario); // Configura usuário na Session LoadSession(entityUsuario); // Se selecionou para logar como responsável, verifica se esse ele é responsável por um aluno só, // ou caso tenha mais, redireciona para uma tela de selação de alunos if (RadioButtonList1.SelectedIndex == 1) { DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(entityUsuario.pes_id); Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString(); Session["Qtde_Filhos_Responsavel"] = dtAlunosDoResponsavel.Rows.Count; if (dtAlunosDoResponsavel.Rows.Count > 1) { //Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString(); RedirecionarLogin(true); return; } } RedirecionarLogin(false); } } catch (DuplicateNameException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } catch (ArgumentException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } catch (ValidationException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar alterar a senha do usuário.", UtilBO.TipoMensagem.Erro); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } } else { _updAlterarSenha.Update(); } }
protected void Page_Load(object sender, EventArgs e) { try { 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); 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 = TUR_TurmaBO.SelecionaPorFiltrosMinhasTurmas (UCControleTurma1.VS_esc_id , VS_EntitiesControleTurma.turma.uni_id , VS_EntitiesControleTurma.curso.cur_id , VS_EntitiesControleTurma.curriculo.crr_id , VS_EntitiesControleTurma.curriculoPeriodo.crp_id , __SessionWEB.__UsuarioWEB.Usuario.ent_id , VS_EntitiesControleTurma.turma.tur_codigo , 0 , 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); } ACA_FormatoAvaliacao formatoAvaliacao = TUR_TurmaBO.SelecionaFormatoAvaliacao(UCControleTurma1.VS_tur_id); 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); } } 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, UCControleTurma1.VS_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/jsUCSelecaoDisciplinaCompartilhada.js")); } UCNavegacaoTelaPeriodo.OnCarregaDadosTela += CarregaSessionPaginaRetorno; UCControleTurma1.IndexChanged = uccTurmaDisciplina_IndexChanged; UCNavegacaoTelaPeriodo.OnAlteraPeriodo += CarregarTela; UCSelecaoDisciplinaCompartilhada1.SelecionarDisciplina += UCSelecaoDisciplinaCompartilhada1_SelecionarDisciplina; UCControleTurma1.chkTurmasNormaisMultisseriadasIndexChanged += UCControleTurma_chkTurmasNormaisMultisseriadasIndexChanged; UCFechamento.AbrirRelatorioRP += UCFechamento_AbrirRelatorioRP; UCFechamento.AbrirRelatorioAEE += UCFechamento_AbrirRelatorioAEE; 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); } }
protected void Page_Load(object sender, EventArgs e) { ScriptManager sm = ScriptManager.GetCurrent(this); if (sm != null) { sm.Scripts.Add(new ScriptReference(ArquivoJS.Json)); 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(ArquivoJS.MsgConfirmBtn)); sm.Scripts.Add(new ScriptReference("~/Includes/jsBuscaDocumentosAluno.js")); } UCBuscaDocenteTurma._VS_AnosAnteriores = true; UCBuscaDocenteTurma.IndexChanged_Calendario += UCBuscaDocenteTurma_IndexChanged_Calendario; UCBuscaDocenteTurma.IndexChanged_Turma += UCBuscaDocenteTurma_IndexChanged_Turma; //btnGerarRelatorio.Attributes.Add("onclick", String.Format("javascript: return ExtensaoDosFiltros('{0}');", __SessionWEB.__UsuarioWEB.Usuario.ent_id)); //btnGerarRelatorioCima.Attributes.Add("onclick", String.Format("javascript: return ExtensaoDosFiltros('{0}');", __SessionWEB.__UsuarioWEB.Usuario.ent_id)); if (!IsPostBack) { _VS_PesquisaSalva = false; //_VS_SelecionarTodos = false; try { string message = __SessionWEB.PostMessages; if (!String.IsNullOrEmpty(message)) { lblMessage.Text = message; __SessionWEB.PostMessages = String.Empty; } if (!__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar) { updPesquisa.Visible = false; lblMessage.Text = UtilBO.GetErroMessage("Você não possui permissão para acessar a página solicitada.", UtilBO.TipoMensagem.Alerta); } // Inserção do título do relatório lgdTitulo.InnerText = Modulo.mod_nome; Inicializar(); Page.Form.DefaultButton = btnPesquisar.UniqueID; // quantidade de itens por página string qtItensPagina = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.QT_ITENS_PAGINACAO); ddlQtPaginado.SelectedValue = string.IsNullOrEmpty(qtItensPagina) ? ApplicationWEB._Paginacao.ToString() : qtItensPagina; // ****************************** // Carrega o nome referente ao parametro de matricula estadual. string nomeMatriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL , __SessionWEB.__UsuarioWEB.Usuario.ent_id); bool mostraMatriculaEstadual = !string.IsNullOrEmpty(nomeMatriculaEstadual); grvDocumentoAluno.Columns[columnMatricula].Visible = !mostraMatriculaEstadual; grvDocumentoAluno.Columns[columnMatriculaEstadual].Visible = mostraMatriculaEstadual; grvDocumentoAluno.Columns[columnMatriculaEstadual].HeaderText = nomeMatriculaEstadual; UCCamposBuscaAluno1.MostrarMatriculaEstadual = mostraMatriculaEstadual; UCCamposBuscaAluno1.TituloMatriculaEstadual = nomeMatriculaEstadual; grvDocumentoAluno.Columns[cellCurso].HeaderText = GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id); //fdsResultados.Style.Add("display", "none"); fdsResultados.Visible = false; CarregaBusca(); // adiciona atributo que controla se estao todas as paginas selecionavas //divSeleciona.Style.Add("display", "inline"); //hdnSelecionaGrid.Value = "false"; } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Override do Save passando o banco - salva tambem a tabela CLS_CompensacaoAusenciaAluno /// </summary> /// <param name="entity">Entidade a ser salva</param> /// <param name="lista">Lista de CLS_CompensacaoAusenciaAluno a ser salva</param> /// <param name="fechamentoAutomatico">Indica se o fechamento é automático.</param> /// <param name="banco">Transação com banco</param> /// <returns>Se salvou com sucesso</returns> public static bool Save(CLS_CompensacaoAusencia entity, List <CLS_CompensacaoAusenciaAluno> lista, bool fechamentoAutomatico, int cal_id, TalkDBTransaction banco) { // permite cadatrar compensacao apenas para o ultimo periodo aberto, // o metodo ja retorna os periodos abertos ordenados do mais recente para o mais antigo List <sComboPeriodoCalendario> dtPeriodos = ACA_TipoPeriodoCalendarioBO.SelecionaPor_PeriodoVigente_EventoEfetivacaoVigente(-1, entity.tud_id, -1, Guid.Empty, true); if (dtPeriodos.Count > 0 && dtPeriodos.Any(p => p.tpc_id == entity.tpc_id)) { //validacoes DataTable dt = MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusencia( entity.tud_id, entity.tpc_id, 0, entity.cpa_id ); dt.PrimaryKey = new DataColumn[1] { dt.Columns["alu_id"] }; TUR_TurmaDisciplina turmaDisciplina = TUR_TurmaDisciplinaBO.GetEntity(new TUR_TurmaDisciplina { tud_id = entity.tud_id }); // se for disciplina especial if (turmaDisciplina.tud_disciplinaEspecial // e o docente do tipo especial tem permissao de editar a compensacao && CFG_PermissaoDocenteBO.SelecionaPermissaoModulo((byte)EnumTipoDocente.Especial, (byte)EnumModuloPermissao.Compensacoes).Any(p => p.pdc_permissaoEdicao)) { // adiciono na lista de validacao os aluno especiais DataTable dtEspecial = MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusenciaFiltroDeficiencia( -1, entity.tud_id, entity.tpc_id, 0, EnumTipoDocente.Especial, entity.cpa_id); dt.Merge(dtEspecial, false, MissingSchemaAction.AddWithKey); } bool valida = true; string msgValidacao = ""; if (turmaDisciplina.tud_tipo == (byte)TurmaDisciplinaTipo.Experiencia) { if (!TUR_TurmaDisciplinaTerritorioBO.VerificaOferecimentoExperienciaBimestre(turmaDisciplina.tud_id, cal_id, entity.tpc_id)) { valida = false; msgValidacao += "A experiência não possui territórios vigentes no bimestre."; } } // caso exista alguma compensação já criada pro aluno // valida se pode existir alguma outra. foreach (CLS_CompensacaoAusenciaAluno cpaa in lista) { var results = from row in dt.AsEnumerable() where row.Field <Int64>("alu_id") == cpaa.alu_id select row; if (results.Count() > 0) { DataTable aux = results.CopyToDataTable(); int totalFaltasCompensar = Convert.ToInt32(aux.Rows[0]["TotalFaltasCompensar"]); if (entity.cpa_quantidadeAulasCompensadas > totalFaltasCompensar) { valida = false; msgValidacao += String.Format("Aluno(a) {0} não pode ter essa quantidade de ausências compensadas. </br>", aux.Rows[0]["pes_nome"].ToString()); } } else { valida = false; ACA_Aluno aluno = ACA_AlunoBO.GetEntity(new ACA_Aluno { alu_id = cpaa.alu_id }); PES_Pessoa pes = PES_PessoaBO.GetEntity(new PES_Pessoa { pes_id = aluno.pes_id }); msgValidacao += String.Format("Aluno(a) {0} não pode ter ausências compensadas nos bimestres em que não estava na turma. </br>", pes.pes_nome); } } if (!valida) { throw new ValidationException(msgValidacao); } // Salva CLS_CompensacaoAusencia if (!Save(entity, banco)) { throw new Exception("Erro ao tentar salvar compensação de ausência."); } // Caso o fechamento seja automático, grava na fila de processamento. if (fechamentoAutomatico && entity.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, new Guid())) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(entity.tud_id, entity.tpc_id, banco); } List <CLS_CompensacaoAusenciaAluno> listaBanco = CLS_CompensacaoAusenciaAlunoBO.SelectByCpa_id(entity.cpa_id, entity.tud_id); foreach (CLS_CompensacaoAusenciaAluno item in lista) { CLS_CompensacaoAusenciaAluno ent = listaBanco.Find(p => p.tud_id == item.tud_id && p.cpa_id == entity.cpa_id && p.alu_id == item.alu_id && p.mtd_id == item.mtd_id && p.mtu_id == item.mtu_id); if (ent != null) { // Achou na lista que vem no banco, altera. ent.IsNew = false; CLS_CompensacaoAusenciaAlunoBO.Save(ent, banco); // Remove o registro da lista do banco para restar somente os que serao excluidos. listaBanco.Remove(ent); } else { // Não achou na lista do banco, inclui. item.cpa_id = entity.cpa_id; CLS_CompensacaoAusenciaAlunoBO.GetEntity(item, banco); if (item.caa_situacao == 3) { item.caa_situacao = 1; item.IsNew = false; } else { item.IsNew = true; } CLS_CompensacaoAusenciaAlunoBO.Save(item, banco); } } if (listaBanco.Count > 0) { foreach (CLS_CompensacaoAusenciaAluno item in listaBanco) { CLS_CompensacaoAusenciaAlunoBO.Delete(item, banco); } } } else { throw new ValidationException("Não existe evento de fechamento do bimestre aberto para realizar o lançamento."); } return(true); }
/// <summary> /// Retorna o parametro academico. /// </summary> public static int GetQuantidadeMaximaFilaFechamento() { return(ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.QUANTIDADE_THREADS_FILA_FECHAMENTO, new Guid())); }
/// <summary> /// Processa os protocolos informados. /// </summary> /// <param name="ltProtocolo">Lista de protocolos em processamento.</param> /// <param name="tentativasProtocolo">Quantidade máxima de tentativas para processar protocolos.</param> /// <returns></returns> public static bool ProcessarProtocoloCompensacao(List <DCL_Protocolo> ltProtocolo, int tentativasProtocolo) { DataTable dtProtocolo = DCL_Protocolo.TipoTabela_Protocolo(); foreach (DCL_Protocolo protocolo in ltProtocolo.Where(pro => pro.pro_tentativa > tentativasProtocolo)) { protocolo.pro_statusObservacao = String.Format("Número máximo ({0}) de tentativas de processamento deste protocolo foram excedidas. Erro: {1}" , tentativasProtocolo, protocolo.pro_statusObservacao); protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErrosValidacao; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); } foreach (DCL_Protocolo protocolo in ltProtocolo.Where(pro => pro.pro_tentativa <= tentativasProtocolo)) { // Abre uma transação para cada protocolo dentro do laço. // Assim é possível processar o próximo protocolo, mesmo que o atual esteja com erro. TalkDBTransaction bancoSincronizacao = new CLS_TurmaAulaDAO()._Banco.CopyThisInstance(); bancoSincronizacao.Open(IsolationLevel.ReadCommitted); bool processou = false; try { if (protocolo.pro_tentativa <= tentativasProtocolo) { JObject json = JObject.Parse(protocolo.pro_pacote); JArray compensacoes = ((JArray)json.SelectToken("CompensacaoFalta") ?? new JArray()); foreach (JObject compensacao in compensacoes) { long tud_id = Convert.ToInt64(compensacao.SelectToken("tud_id")); ACA_FormatoAvaliacao formatoAvaliacao = ACA_FormatoAvaliacaoBO.CarregarPorTud(tud_id); ACA_CalendarioAnual cal = ACA_CalendarioAnualBO.SelecionaPorTurmaDisciplina(tud_id, bancoSincronizacao); // apenas protocolos de turmas ativas e do ano letivo corrente podem ser processados if (!DCL_ProtocoloBO.PodeProcessarProtocolo(0, tud_id)) { throw new ValidationException("O protocolo pertence a uma turma que não esta ativa ou de um ano letivo diferente do corrente, não pode ser processado!"); } int cpa_id = Convert.ToInt32(compensacao.SelectToken("cpa_id")); int quantidadeAulasCompensadas = Convert.ToInt32(compensacao.SelectToken("cpa_quantidadeAulasCompensadas")); DateTime cpa_dataAlteracao = Convert.ToDateTime(compensacao.SelectToken("cpa_dataAlteracao")); CLS_CompensacaoAusencia compensacaoAusencia; long pro_protocoloCriacao = (long)(compensacao.GetValue("pro_protocolo", StringComparison.OrdinalIgnoreCase) ?? "0"); if (cpa_id > 0 || pro_protocoloCriacao <= 0) { compensacaoAusencia = new CLS_CompensacaoAusencia { tud_id = tud_id, cpa_id = cpa_id }; GetEntity(compensacaoAusencia, bancoSincronizacao); } else { List <DCL_Protocolo> protocoloCriacaoCompensacao = DCL_ProtocoloBO.SelectBy_Protocolos(pro_protocoloCriacao.ToString()); Guid pro_idCriacao = protocoloCriacaoCompensacao.Count() > 0 ? protocoloCriacaoCompensacao[0].pro_id : Guid.Empty; compensacaoAusencia = SelectByDisciplinaProtocolo(tud_id, pro_idCriacao); if (!compensacaoAusencia.IsNew) { compensacaoAusencia.pro_id = protocolo.pro_id; } } if (compensacaoAusencia.IsNew) { compensacaoAusencia.cpa_id = -1; compensacaoAusencia.cpa_dataCriacao = DateTime.Now; compensacaoAusencia.pro_id = protocolo.pro_id; } else if (!compensacaoAusencia.IsNew && (cpa_dataAlteracao < compensacaoAusencia.cpa_dataAlteracao)) { throw new ValidationException("Compensação existe e foi alterada mais recentemente."); } compensacaoAusencia.tpc_id = Convert.ToInt32(compensacao.SelectToken("tpc_id")); compensacaoAusencia.cpa_quantidadeAulasCompensadas = quantidadeAulasCompensadas; compensacaoAusencia.cpa_atividadesDesenvolvidas = Convert.ToString(compensacao.SelectToken("cpa_atividadesDesenvolvidas")); compensacaoAusencia.cpa_situacao = Convert.ToInt16(compensacao.SelectToken("cpa_situacao")); compensacaoAusencia.cpa_dataAlteracao = DateTime.Now; if (compensacaoAusencia.cpa_situacao != 3) { JArray arrayAlunos = ((JArray)compensacao.SelectToken("AlunosCompensados") ?? new JArray()); List <CLS_CompensacaoAusenciaAluno> listaAlunos = new List <CLS_CompensacaoAusenciaAluno>(); foreach (JObject jsonAluno in arrayAlunos) { int alu_id = Convert.ToInt32(jsonAluno.SelectToken("alu_id")); MTR_MatriculaTurmaDisciplina matricula = MTR_MatriculaTurmaDisciplinaBO.BuscarPorAlunoTurmaDisciplina(alu_id, tud_id, bancoSincronizacao); CLS_CompensacaoAusenciaAluno compensacaoAluno = new CLS_CompensacaoAusenciaAluno { tud_id = tud_id, cpa_id = compensacaoAusencia.cpa_id, alu_id = alu_id, mtu_id = matricula.mtu_id, mtd_id = matricula.mtd_id }; CLS_CompensacaoAusenciaAlunoBO.GetEntity(compensacaoAluno); if (compensacaoAluno.IsNew) { compensacaoAluno.caa_dataCriacao = DateTime.Now; } compensacaoAluno.caa_situacao = 1; compensacaoAluno.caa_dataAlteracao = DateTime.Now; listaAlunos.Add(compensacaoAluno); } processou = Save(compensacaoAusencia, listaAlunos, formatoAvaliacao.fav_fechamentoAutomatico, cal.cal_id, bancoSincronizacao); } else { // persistindo os dados. processou = true; // Caso o fechamento seja automático, grava na fila de processamento. if (formatoAvaliacao.fav_fechamentoAutomatico && compensacaoAusencia.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, new Guid())) { processou &= CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(compensacaoAusencia.tud_id, compensacaoAusencia.tpc_id, bancoSincronizacao); } processou &= Delete(compensacaoAusencia, bancoSincronizacao); } } } // Processou com sucesso. protocolo.pro_statusObservacao = String.Format("Protocolo processado com sucesso ({0}).", DateTime.Now.ToString("dd/MM/yyyy HH:mm")); protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComSucesso; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); } catch (ArgumentException ex) { // Se ocorrer uma excessão de validação, guardar novo status. protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErrosValidacao; protocolo.pro_statusObservacao = ex.Message; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); bancoSincronizacao.Close(ex); } catch (ValidationException ex) { // Se ocorrer uma excessão de validação, guardar novo status. protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErrosValidacao; protocolo.pro_statusObservacao = ex.Message; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); bancoSincronizacao.Close(ex); } catch (Exception ex) { // Se ocorrer uma excessão de erro, guardar novo status. protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErro; protocolo.pro_statusObservacao = ex.Message; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); bancoSincronizacao.Close(ex); } finally { if (bancoSincronizacao.ConnectionIsOpen) { bancoSincronizacao.Close(); } } } DCL_ProtocoloBO.AtualizaProtocolos(dtProtocolo); return(true); }
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { //recebe valores da sessão e grava em variáveis string tipoRel = CFG_RelatorioBO.CurrentReportID; string parametrosRel = CFG_RelatorioBO.CurrentReportParameters; if (!String.IsNullOrEmpty(tipoRel)) { this.QueryStringUrlReports = "tipRel=" + HttpUtility.UrlEncode(tipoRel) + "¶ms=" + HttpUtility.UrlEncode(parametrosRel); //remove os valores da sessão CFG_RelatorioBO.ClearSessionReportParameters(); //Recebe os dados do relatório CFG_Relatorio rpt = new CFG_Relatorio() { rlt_id = int.Parse(tipoRel) }; CFG_RelatorioBO.GetEntity(rpt); if (rpt.IsNew) { throw new ValidationException("Relatório não encontrado."); } //Configurações do Relatório CFG_ServidorRelatorio rptServer = CFG_ServidorRelatorioBO.CarregarServidorRelatorioPorEntidade( this.__SessionWEB.__UsuarioWEB.Usuario.ent_id , ApplicationWEB.AppMinutosCacheLongo ); if (rptServer.IsNew) { throw new ValidationException("O servidor de relatório não está configurado."); } VerificaAtributosReport(rpt.rlt_id); //Carrega os parâmetros do relatório MSReportServerParameters param = new MSReportServerParameters(parametrosRel); //Verifica se está Habilitada a impressão sem activeX bool bHabilitarImpressaoRel = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.HABILITA_IMPRESSAO_RELATORIO , __SessionWEB.__UsuarioWEB.Usuario.ent_id); this.HabilitarImpressaoRel = bHabilitarImpressaoRel; divPdf.Visible = bHabilitarImpressaoRel; ReportViewerRel.ShowPrintButton = !bHabilitarImpressaoRel; //Verifica se usuário vizualizará algum relatório da aba 'DOCUMENTOS' if (_VS_TipoRelatorio == tipoRelatorio.Documento) { // Habilita ou desabilita, conforme configuração do parâmetro HABILITA_EXPORTACAO_IMPRESSAO_DOCUMENTOS, se vai ter botão de exportar documento no ReportView. ReportViewerRel.ShowExportControls = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.HABILITA_EXPORTACAO_IMPRESSAO_DOCUMENTOS , __SessionWEB.__UsuarioWEB.Usuario.ent_id); } //Checa o modo de processamento do servidor if (rptServer.srr_remoteServer) { //Configura o reportviewer ReportViewerRel.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote; Uri urlReport = new Uri(rptServer.srr_diretorioRelatorios); ReportViewerRel.ServerReport.ReportServerUrl = urlReport; ReportViewerRel.ServerReport.ReportServerCredentials = new MSReportServerCredentials(rptServer.srr_usuario, rptServer.srr_senha, rptServer.srr_dominio); ReportViewerRel.ServerReport.ReportPath = String.Concat(rptServer.srr_pastaRelatorios, rpt.rlt_nome); ReportViewerRel.ServerReport.SetParameters(param.getReportParameters()); //Recebe as configurações do delegate ConfigRemoteRerpotViewerEvent configRemoteRerpotViewer = Events[ConfigRemoteRerpotViewerKey] as ConfigRemoteRerpotViewerEvent; if (configRemoteRerpotViewer != null) { configRemoteRerpotViewer(ReportViewerRel); } //Carrega o relatório ReportViewerRel.ServerReport.Refresh(); } else { //Configura o reportviewer ReportViewerRel.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; ReportViewerRel.LocalReport.ReportPath = String.Concat(rptServer.srr_pastaRelatorios, rpt.rlt_nome); ReportViewerRel.LocalReport.SetParameters(param.getReportParameters()); //Recebe as configurações do delegate ConfigLocalRerpotViewerEvent configLocalRerpotViewer = Events[ConfigLocalRerpotViewerKey] as ConfigLocalRerpotViewerEvent; if (configLocalRerpotViewer != null) { configLocalRerpotViewer(ReportViewerRel); } //Carrega o relatório ReportViewerRel.LocalReport.Refresh(); } } else { string nome = _VS_TipoRelatorio == tipoRelatorio.Relatorio ? "relatório" : "documento"; _lblMensagem.Text = UtilBO.GetErroMessage("Não foi possível carregar o " + nome + ". Tipo de relatório indisponível.", UtilBO.TipoMensagem.Informacao); } } this.Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "reports", " var query= '" + this.QueryStringUrlReports + "';", true); } catch (ValidationException ex) { this._TrataErro(ex, ex.Message); } catch (Exception ex) { string nome = _VS_TipoRelatorio == tipoRelatorio.Relatorio ? "relatório" : "documento"; this._TrataErro(ex, "Recurso indisponível ao exibir o " + nome + "."); } }
/// <summary> /// Carrega no combo as disciplinas disponíveis para o docente de acordo com o objeto /// passado. /// </summary> /// <param name="dadosTurmas">Objeto com as turmas do docente</param> /// <param name="cal_id">ID do calendário</param> public void CarregaTurmas(List <Struct_MinhasTurmas.Struct_Turmas> dadosTurmas, int cal_id, byte tud_tipo, bool fav_fechamentoAutomatico, bool removerCompartilhada = false) { DateTime dataLimiteLancamento = new DateTime(); string dataBloqueio = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.DATA_VALIDADE_BLOQUEIO_ACESSO_MINHAS_TURMAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (visaoDocente && !string.IsNullOrEmpty(dataBloqueio) && DateTime.TryParse(dataBloqueio, out dataLimiteLancamento) && DateTime.Today >= dataLimiteLancamento) { // Se passou a data limite para lançamento das aulas previstas, só carrega disciplinas com // as aulas previstas lançadas. if (removerCompartilhada) { dadosTurmas = dadosTurmas.Where(p => ( (p.aulasPrevistasPreenchida == true) || ( p.tdt_posicao != (byte)EnumTipoDocente.Titular && p.tdt_posicao != (byte)EnumTipoDocente.SegundoTitular && p.tdt_posicao != (byte)EnumTipoDocente.Especial ) ) && (p.tud_tipo != (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada) ).ToList(); } else { dadosTurmas = dadosTurmas.Where(p => (p.aulasPrevistasPreenchida == true || p.tud_tipo == (byte)ACA_CurriculoDisciplinaTipo.DocenciaCompartilhada) || ( p.tdt_posicao != (byte)EnumTipoDocente.Titular && p.tdt_posicao != (byte)EnumTipoDocente.SegundoTitular && p.tdt_posicao != (byte)EnumTipoDocente.Especial )).ToList(); } } //Remove as disciplinas do tipo territorio do saber dadosTurmas = dadosTurmas.Where(p => p.tud_tipo != (byte)ACA_CurriculoDisciplinaTipo.TerritorioSaber).ToList(); uccTurmaDisciplina.CarregarCombo(dadosTurmas, "TurmaDisciplinaEscola", "DataValueFieldCombo"); uccTurmaDisciplina.Valor = VS_tur_id + ";" + VS_tud_id + ";" + cal_id + ";" + VS_tdt_posicao + ";" + tud_tipo + ";" + VS_tur_tipo + ";" + VS_tur_idNormal + ";" + VS_tud_idAluno + ";" + (fav_fechamentoAutomatico ? "true" : "false"); // Seta as atribuições que devem ter a vigência verificada para a criação de aulas. AtribuicoesVerificarVigencia = (from Struct_MinhasTurmas.Struct_Turmas item in dadosTurmas where item.crg_tipo == (byte)eTipoCargo.AtribuicaoEsporadica select new VigenciaCriacaoAulas { tud_id = item.tud_id , tdt_id = item.tdt_id , crg_tipo = item.crg_tipo , tdt_vigenciaInicio = item.tdt_vigenciaInicio , tdt_vigenciaFim = item.tdt_vigenciaFim }).ToList(); if (VS_tur_tipo == (byte)TUR_TurmaTipo.MultisseriadaDocente) { chkTurmasNormaisMultisseriadas.DataSource = TUR_TurmaBO.SelecionaTurmasNormaisMatriculaMutisseriada(VS_tur_id); chkTurmasNormaisMultisseriadas.DataBind(); if (!VS_tur_tud_ids.Any()) { chkTurmasNormaisMultisseriadas.Items.Cast <ListItem>() .ToList() .ForEach ( item => { item.Selected = true; } ); } else { (from ListItem item in chkTurmasNormaisMultisseriadas.Items.Cast <ListItem>() join string tur_tud_id in VS_tur_tud_ids on item.Value equals tur_tud_id select item).ToList().ForEach ( item => { item.Selected = true; } ); } pnlTurmasMultisseriada.Visible = chkTurmasNormaisMultisseriadas.Items.Count > 0; } else { chkTurmasNormaisMultisseriadas.Items.Add(new ListItem("", String.Format("{0};{1}", VS_tur_idNormal, VS_tud_idAluno))); chkTurmasNormaisMultisseriadas.Items.Cast <ListItem>() .ToList() .ForEach ( item => { item.Selected = true; } ); pnlTurmasMultisseriada.Visible = false; } }
protected void gvFechamento_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Exportar") { try { int index = int.Parse(e.CommandArgument.ToString()); int esc_id = Convert.ToInt32(gvFechamento.DataKeys[index]["esc_id"]); int uni_id = Convert.ToInt32(gvFechamento.DataKeys[index]["uni_id"]); int cal_id = Convert.ToInt32(gvFechamento.DataKeys[index]["cal_id"]); int tpc_id = Convert.ToInt32(gvFechamento.DataKeys[index]["tpc_id"]); Int64 tur_id = Convert.ToInt64(gvFechamento.DataKeys[index]["tur_id"]); string ordemAluno = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.ORDENACAO_COMBO_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); ordemAluno = string.IsNullOrEmpty(ordemAluno) ? "1" : ordemAluno; DataTable dt = CLS_ArquivoEfetivacaoBO.ExportacaoAlunosFechamento(esc_id, uni_id, cal_id, tur_id, tpc_id, GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id), GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA_PLURAL").ToString(), Convert.ToInt16(ordemAluno)); if (dt.Rows.Count == 0) { throw new ValidationException("Não existem itens para essa turma"); } CLS_ArquivoEfetivacao entity = new CLS_ArquivoEfetivacao { aef_id = -1, esc_id = esc_id, uni_id = uni_id, cal_id = cal_id, tpc_id = tpc_id, tur_id = tur_id, aef_dataCriacao = DateTime.Now, aef_dataAlteracao = DateTime.Now, aef_tipo = (short)CLS_ArquivoEfetivacaoBO.eTipoArquivoEfetivacao.Exportacao, aef_situacao = (short)CLS_ArquivoEfetivacaoBO.eSituacao.Ativo, IsNew = true }; if (CLS_ArquivoEfetivacaoBO.Save(entity)) { VS_NomeArquivoCSV = dt.Rows[0][0] + "_" + dt.Rows[0][1] + "_" + dt.Rows[0][2] + "-" + dt.Rows[0][3] + "_" + entity.aef_id + ".csv"; VS_ConteudoArquivoCSV = GestaoEscolarUtilBO.ConverterTabelaParaArquivoCSV(dt).ToString(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "aef_id: " + entity.aef_id); lblMsgDownload.Text = UtilBO.GetErroMessage("Arquivo gerado com sucesso.", UtilBO.TipoMensagem.Sucesso);// + //UtilBO.GetErroMessage("O nome do arquivo será utilizado para importação, portanto não deve ser alterado.", UtilBO.TipoMensagem.Alerta); Pesquisar(); ScriptManager.RegisterStartupScript(Page, typeof(Page), "Donwload", "$(document).ready(function() { $('#divDownload').dialog({title: 'Download do arquivo do fechamento do bimestre'}).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 gerar o arquivo.", UtilBO.TipoMensagem.Erro); } } if (e.CommandName == "Importar") { try { gvFechamento.EditIndex = int.Parse(e.CommandArgument.ToString()); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Retorna o tra_id correspondente ao responsável "Não existe", cadastrado nos parâmetros acadêmicos. /// Caso o parâmetro não esteja configurado, retorna -1. /// </summary> /// <param name="ent_id">Id da entidade do usuário logado.</param> public static Int32 tra_idNaoExiste(Guid ent_id) { int tra_id = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_RESPONSAVEL_NAO_EXISTE, ent_id); return(tra_id > 0 ? tra_id : -1); }