private Dominio.Classes.Pagina ObterPaginaPai() { var manterPagina = new ManterPagina(); var paginaPaiId = int.Parse(hdnIdPaginaPai.Value); return(paginaPaiId == 0 ? null : manterPagina.ObterPaginaPorID(paginaPaiId, true, true)); }
private Dominio.Classes.Pagina ObterObjetoPagina() { ValidarPagina(); var manterPagina = new ManterPagina(); var paginaId = int.Parse(hdnIdPagina.Value); var pagina = paginaId == 0 ? new Dominio.Classes.Pagina() : manterPagina.ObterPaginaPorID(paginaId); var tipoPagina = (enumTipoPagina)int.Parse(hdnTipoPagina.Value); // Nome pagina.Nome = (tipoPagina != enumTipoPagina.CadastroEdicao && tipoPagina != enumTipoPagina.Subcadastro) ? txtNome.Text.Trim() : null; // Descrição pagina.Descricao = string.IsNullOrWhiteSpace(txtDescricao.Text.Trim()) ? null : txtDescricao.Text.Trim(); // Limpar permissões. pagina.RemoverTodosPerfis(); pagina.RemoverTodasUfs(); pagina.RemoverTodosNiveisOcupacionais(); pagina.ConsiderarNacionalizacaoUf = ckbConsiderarNacionalizacaoUf.Checked; // Perfis if (ckbTodosPerfis.Checked) { pagina.TodosPerfis = true; } else { pagina.TodosPerfis = false; ObterPerfisSelecionados(pagina); } // Ufs if (ckbTodasUfs.Checked) { pagina.TodasUfs = true; } else { pagina.TodasUfs = false; ObterUfsSelecionadas(pagina); } // Níveis ocupacionais if (ckbTodosNiveisOcupacionais.Checked) { pagina.TodosNiveisOcupacionais = true; } else { pagina.TodosNiveisOcupacionais = false; ObterNiveisOcupacionaisSelecionados(pagina); } // Caminho Relativo. if (tipoPagina != enumTipoPagina.Agrupador) { pagina.CaminhoRelativo = FormatarCaminhoRelativo(); if (!ckbPaginaInicial.Checked) { pagina.Titulo = txtTitulo.Text.Trim(); } } switch (tipoPagina) { case enumTipoPagina.Container: throw new AcademicoException("Página inválida"); case enumTipoPagina.Menu: // Estilo. pagina.Estilo = ddlEstilo.SelectedValue; // Ícone. pagina.IconeMenu = hddIcone.Value; // Página inicial. if (ckbPaginaInicial.Checked) { pagina.PaginaInicial = true; } // Descrição Administrador pagina.DescricaoAdministrador = string.IsNullOrWhiteSpace(txtDescricaoAdministrador.Text.Trim()) ? null : txtDescricaoAdministrador.Text.Trim(); // Descrição Gestor pagina.DescricaoGestor = string.IsNullOrWhiteSpace(txtDescricaoGestor.Text.Trim()) ? null : txtDescricaoGestor.Text.Trim(); break; case enumTipoPagina.Agrupador: // Ícone padrão. pagina.IconePaginas = string.IsNullOrEmpty(txtIconePaginas.Text) ? null : txtIconePaginas.Text; break; case enumTipoPagina.Pagina: pagina.IconeMenu = string.IsNullOrEmpty(hddIcone.Value) ? null : hddIcone.Value; break; case enumTipoPagina.CadastroEdicao: // Ícone. pagina.IconeMenu = hddIcone.Value; pagina.ChaveVerificadora = txtChaveVerificadora.Text; break; case enumTipoPagina.Subcadastro: pagina.ChaveVerificadora = txtChaveVerificadora.Text; break; default: throw new ArgumentOutOfRangeException(); } return(pagina); }
private void ExibirModalEdicao(int paginaId) { var manterPagina = new ManterPagina(); var pagina = manterPagina.ObterPaginaPorID(paginaId, true); // Setar título do Modal. modalCadastrarPaginaTitulo.InnerText = "Editar " + pagina.Nome + " (" + pagina._ObterTipoPagina.ToLower() + ")"; var tipoPagina = pagina.ObterTipoPagina(); hdnIdPagina.Value = pagina.ID.ToString(); txtNome.Text = pagina.Nome; txtDescricao.Text = pagina.Descricao; hdnTipoPagina.Value = pagina.Profundidade.ToString(); // Perfis. ckbTodosPerfis.Checked = pagina.TodosPerfis; if (!pagina.TodosPerfis) { ckbTodosPerfis_OnCheckedChanged(null, null); foreach (ListItem item in ckblPerfis.Items) { item.Selected = pagina.Perfis.Any(x => x.ID.ToString() == item.Value); } } if (pagina.ConsiderarNacionalizacaoUf.HasValue) { ckbConsiderarNacionalizacaoUf.Checked = pagina.ConsiderarNacionalizacaoUf.Value; } ckbTodasUfs.Checked = pagina.TodasUfs; if (!pagina.TodasUfs) { ckbTodasUfs_OnCheckedChanged(null, null); foreach (ListItem item in ckblUfs.Items) { item.Selected = pagina.Ufs.Any(x => x.ID.ToString() == item.Value); } } // Níveis ocupacionais. ckbTodosNiveisOcupacionais.Checked = pagina.TodosNiveisOcupacionais; if (!pagina.TodosNiveisOcupacionais) { ckbTodosNiveisOcupacionais_OnCheckedChanged(null, null); foreach (ListItem item in cbklNiveisOcupacionais.Items) { item.Selected = pagina.NiveisOcupacionais.Any(x => x.ID.ToString() == item.Value); } } if (tipoPagina != enumTipoPagina.Agrupador) { txtCaminhoRelativo.Text = pagina.CaminhoRelativo; txtTitulo.Text = pagina.Titulo; } switch (tipoPagina) { case enumTipoPagina.Container: throw new AcademicoException("Página inválida"); case enumTipoPagina.Menu: divEstilo.Visible = true; divPaginaInicial.Visible = true; // Atribui valores do campo descricao txtDescricaoAdministrador.Text = pagina.DescricaoAdministrador; txtDescricaoGestor.Text = pagina.DescricaoGestor; // Habilita campos de descricao no modal de edicao divDescricaoAdministrador.Visible = true; divDescricaoGestor.Visible = true; divIconeMenu.Visible = true; if (pagina.IsPaginaInicial()) { divTitulo.Visible = false; } ddlEstilo.SelectedValue = pagina.Estilo; ckbConsiderarNacionalizacaoUf.Enabled = !(pagina.PaginaInicial.HasValue && pagina.PaginaInicial.Value); ckbPaginaInicial.Checked = pagina.PaginaInicial.HasValue && pagina.PaginaInicial.Value; ckbPaginaInicial.Enabled = !(pagina.PaginaInicial.HasValue && pagina.PaginaInicial.Value); hddIcone.Value = pagina.IconeMenu; break; case enumTipoPagina.Agrupador: divCaminhoRelativo.Visible = false; divTitulo.Visible = false; divIconePaginas.Visible = true; txtIconePaginas.Text = pagina.IconePaginas; break; case enumTipoPagina.Pagina: labelIconeMenu.Text = "Ícone do Menu"; hddIcone.Value = pagina.IconeMenu; divIconeMenu.Visible = true; break; case enumTipoPagina.CadastroEdicao: divNome.Visible = false; divIconeMenu.Visible = true; hddIcone.Value = pagina.IconeMenu; divChaveVerificadora.Visible = true; labelTitulo.Text = "Nome do objeto*"; labelTitulo.Attributes.Add("data-help", Resources.Resource.paginaNomeDoObjeto); txtChaveVerificadora.Text = pagina.ChaveVerificadora; break; case enumTipoPagina.Subcadastro: divNome.Visible = false; labelTitulo.Text = "Nome do objeto*"; labelTitulo.Attributes.Add("data-help", Resources.Resource.paginaNomeDoObjeto); divChaveVerificadora.Visible = true; txtChaveVerificadora.Text = pagina.ChaveVerificadora; break; } ExibirEstruturaModal(); }