protected void grvConfig_RowUpdating(object sender, GridViewUpdateEventArgs e) { GridView grv = ((GridView)sender); try { CFG_ModuloClasse entityModClasse = new CFG_ModuloClasse() { IsNew = false , mod_id = Convert.ToInt32(grv.DataKeys[e.RowIndex]["mod_id"].ToString()) , mdc_id = Convert.ToInt32(grv.DataKeys[e.RowIndex]["mdc_id"].ToString()) , mdc_situacao = Byte.Parse(grv.DataKeys[e.RowIndex]["mdc_situacao"].ToString()) }; DropDownList ddlClasseIcone = (DropDownList)grvConfig.Rows[e.RowIndex].FindControl("ddlClasseIcone"); if (ddlClasseIcone != null) { entityModClasse.mdc_classe = ddlClasseIcone.SelectedValue; } if (CFG_ModuloClasseBO.Save(entityModClasse)) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "mod_id: " + entityModClasse.mod_id + " mdc_id: " + entityModClasse.mdc_id); lblMessage.Text = UtilBO.GetErroMessage("Configuração alterada com sucesso.", UtilBO.TipoMensagem.Sucesso); grv.EditIndex = -1; grv.DataBind(); } } catch (MSTech.Validation.Exceptions.ValidationException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar configuração.", UtilBO.TipoMensagem.Erro); } finally { updMessage.Update(); } }
protected void grvConfig_DataBinding(object sender, EventArgs e) { try { GridView grv = ((GridView)sender); if (grv.DataSource == null) { if (ApplicationWEB.AreaAlunoSistemaID > 0) { grv.DataSource = CFG_ModuloClasseBO.SelecionaAtivos(ApplicationWEB.AreaAlunoSistemaID); } else { UtilBO.GetErroMessage("Não existe configuração de sistema para a área do aluno.", UtilBO.TipoMensagem.Alerta); } } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar configurações.", UtilBO.TipoMensagem.Erro); updMessage.Update(); } }
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> /// 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(); } }