示例#1
0
        public Guid ObterPerfilPrioritario(bool possuiTurmaAtiva, bool possuiTurmaInfantilAtiva, Guid perfilCJPrioritario)
        {
            if (Perfis == null || !Perfis.Any())
            {
                throw new NegocioException(MENSAGEM_ERRO_USUARIO_SEM_ACESSO);
            }

            if (perfilCJPrioritario != Guid.Empty)
            {
                VerificarOrdenacaoPerfilInfantil(perfilCJPrioritario);
                return(perfilCJPrioritario);
            }

            var possuiPerfilPrioritario = Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_PROFESSOR_INFANTIL && possuiTurmaInfantilAtiva);

            if (possuiPerfilPrioritario)
            {
                return(Dominio.Perfis.PERFIL_PROFESSOR_INFANTIL);
            }

            possuiPerfilPrioritario = Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_PROFESSOR && possuiTurmaAtiva);
            if (possuiPerfilPrioritario)
            {
                return(Dominio.Perfis.PERFIL_PROFESSOR);
            }

            possuiPerfilPrioritario = Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_PROFESSOR_INFANTIL && possuiTurmaAtiva);
            if (possuiPerfilPrioritario)
            {
                return(Dominio.Perfis.PERFIL_PROFESSOR_INFANTIL);
            }

            return(Perfis.FirstOrDefault().CodigoPerfil);
        }
示例#2
0
 public bool PossuiPerfilCJInfantilPrioritario()
 {
     if (Perfis != null && PossuiPerfilCJInfantil() && PossuiPerfilProfessorInfantil())
     {
         var perfilCjInfantil = Perfis.FirstOrDefault(x => x.CodigoPerfil == Dominio.Perfis.PERFIL_CJ_INFANTIL);
         return(!Perfis.Any(x => x.Ordem < perfilCjInfantil.Ordem));
     }
     return(false);
 }
示例#3
0
 public bool PossuiPerfilCJPrioritario()
 {
     if (Perfis != null && PossuiPerfilCJ() && PossuiPerfilProfessor())
     {
         var perfilCj = Perfis.FirstOrDefault(x => x.CodigoPerfil == Dominio.Perfis.PERFIL_CJ);
         return(!Perfis.Any(x => x.Ordem < perfilCj.Ordem));
     }
     return(false);
 }
示例#4
0
        public bool PodeVisualizarEventosOcorrenciaDre()
        {
            var perfilAtual = Perfis.FirstOrDefault(a => a.CodigoPerfil == PerfilAtual);

            if (perfilAtual != null && perfilAtual.Tipo == TipoPerfil.UE)
            {
                return(PerfilAtual == Dominio.Perfis.PERFIL_DIRETOR || PerfilAtual == Dominio.Perfis.PERFIL_AD || PerfilAtual == Dominio.Perfis.PERFIL_CP || PerfilAtual == Dominio.Perfis.PERFIL_SECRETARIO);
            }
            else
            {
                return(true);
            }
        }
示例#5
0
        public Guid ObterPerfilPrioritario()
        {
            if (Perfis == null || !Perfis.Any())
            {
                throw new NegocioException(MENSAGEM_ERRO_USUARIO_SEM_ACESSO);
            }
            var possuiPerfilPrioritario = Perfis.Any(c => c.CodigoPerfil == PERFIL_PROFESSOR);

            if (possuiPerfilPrioritario)
            {
                return(PERFIL_PROFESSOR);
            }
            return(Perfis.FirstOrDefault().CodigoPerfil);
        }
示例#6
0
        public Guid ObterPerfilPrioritario(bool possuiTurmaAtiva, bool ehProfCJSemTurmaTitular)
        {
            if (Perfis == null || !Perfis.Any())
            {
                throw new NegocioException(MENSAGEM_ERRO_USUARIO_SEM_ACESSO);
            }

            if (ehProfCJSemTurmaTitular)
            {
                return(Dominio.Perfis.PERFIL_CJ);
            }

            var possuiPerfilPrioritario = Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_PROFESSOR && possuiTurmaAtiva);

            if (possuiPerfilPrioritario)
            {
                return(Dominio.Perfis.PERFIL_PROFESSOR);
            }

            return(Perfis.FirstOrDefault().CodigoPerfil);
        }
示例#7
0
        public bool PodeVisualizarEventosOcorrenciaDre()
        {
            if (!Perfis.Any())
            {
                throw new NegocioException("Não foram econtrados perfis para este usuário.");
            }

            var perfilAtual = Perfis.FirstOrDefault(a => a.CodigoPerfil == PerfilAtual);

            if (perfilAtual == null)
            {
                throw new NegocioException("Não foi encontrado perfil para este usuário.");
            }
            if (perfilAtual.Tipo == TipoPerfil.UE)
            {
                return(PerfilAtual == Dominio.Perfis.PERFIL_DIRETOR || PerfilAtual == Dominio.Perfis.PERFIL_AD || PerfilAtual == Dominio.Perfis.PERFIL_CP || PerfilAtual == Dominio.Perfis.PERFIL_SECRETARIO);
            }
            else
            {
                return(true);
            }
        }
示例#8
0
 public TipoPerfil?ObterTipoPerfilAtual()
 {
     return(Perfis.FirstOrDefault(a => a.CodigoPerfil == PerfilAtual).Tipo);
 }