Exemplo n.º 1
0
        /// <summary>
        /// Replica as permissões da página a partir de uma página informada.
        /// </summary>
        /// <param name="pagina">Página com as permissões originais.</param>
        /// <param name="zerarPermissoes">Zerar permissões.</param>
        public virtual void ReplicarPermissao(Pagina pagina, bool zerarPermissoes = false)
        {
            // Verifica se é necessário remover todas as permissões antes de replicar.
            if (zerarPermissoes)
            {
                RemoverTodosPerfis();
                RemoverTodasUfs();
                RemoverTodosNiveisOcupacionais();
            }
            else
            {
                if (pagina.TodosPerfis)
                {
                    RemoverTodosPerfis();
                }

                if (pagina.TodasUfs)
                {
                    RemoverTodasUfs();
                }

                if (pagina.TodosNiveisOcupacionais)
                {
                    RemoverTodosNiveisOcupacionais();
                }
            }

            // Replicar permissões de perfil.
            TodosPerfis = pagina.TodosPerfis;

            foreach (var permissaoPerfil in pagina.Perfis)
            {
                AdicionarPerfil(permissaoPerfil);
            }

            ConsiderarNacionalizacaoUf = pagina.ConsiderarNacionalizacaoUf;

            // Replicar permissões de UF.
            TodasUfs = pagina.TodasUfs;

            foreach (var permissaoUf in pagina.Ufs)
            {
                AdicionarUf(permissaoUf);
            }

            // Replicar permissões de Nível Ocupacional.
            TodosNiveisOcupacionais = pagina.TodosNiveisOcupacionais;

            foreach (var permissaoNivel in pagina.NiveisOcupacionais)
            {
                AdicionarNivelOcupacional(permissaoNivel);
            }
        }
Exemplo n.º 2
0
 public virtual bool IsPaiOuIguala(Pagina pagina)
 {
     return(Left <= pagina.Left && Right >= pagina.Right);
 }
Exemplo n.º 3
0
 public virtual bool IsFilhoDe(Pagina pagina)
 {
     return(Left > pagina.Left && Right < pagina.Right);
 }