Beispiel #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);
        }
Beispiel #2
0
 public bool PossuiPerfilCJPrioritario()
 {
     return(Perfis != null && PossuiPerfilCJ() && PossuiPerfilProfessor() &&
            !Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_DIRETOR ||
                        c.CodigoPerfil == Dominio.Perfis.PERFIL_CP ||
                        c.CodigoPerfil == Dominio.Perfis.PERFIL_AD));
 }
Beispiel #3
0
 public bool PossuiPerfilSmeOuDre()
 {
     if (Perfis == null || !Perfis.Any())
     {
         throw new NegocioException(MENSAGEM_ERRO_USUARIO_SEM_ACESSO);
     }
     return(PossuiPerfilSme() || PossuiPerfilDre());
 }
Beispiel #4
0
 private void VerificarOrdenacaoPerfilInfantil(Guid perfil)
 {
     if (perfil == Dominio.Perfis.PERFIL_CJ_INFANTIL ||
         perfil == Dominio.Perfis.PERFIL_PROFESSOR_INFANTIL)
     {
         Perfis = Perfis.OrderByDescending(o => o.EhPerfilInfantil());
     }
 }
Beispiel #5
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);
 }
Beispiel #6
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);
 }
Beispiel #7
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);
            }
        }
Beispiel #8
0
 public void DefinirEmail(string novoEmail)
 {
     if (Perfis == null || !Perfis.Any())
     {
         throw new NegocioException(MENSAGEM_ERRO_USUARIO_SEM_ACESSO);
     }
     if ((PossuiPerfilDre() ||
          PossuiPerfilSme()) &&
         !novoEmail.Contains("@sme.prefeitura.sp.gov.br"))
     {
         throw new NegocioException("Usuários da SME ou DRE devem utilizar e-mail profissional. Ex: [email protected]");
     }
     Email = novoEmail;
 }
Beispiel #9
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);
        }
Beispiel #10
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);
        }
Beispiel #11
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);
            }
        }
Beispiel #12
0
 public bool PossuiPerfilCJInfantil()
 => Perfis != null &&
 Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_CJ_INFANTIL);
Beispiel #13
0
 public bool EhPerfilUE()
 {
     return(Perfis.Any(c => c.Tipo == TipoPerfil.UE && c.CodigoPerfil == PerfilAtual));
 }
Beispiel #14
0
 public bool PossuiPerfilUe()
 {
     return(Perfis != null && Perfis.Any(c => c.Tipo == TipoPerfil.UE));
 }
Beispiel #15
0
 public TipoPerfil?ObterTipoPerfilAtual()
 {
     return(Perfis.FirstOrDefault(a => a.CodigoPerfil == PerfilAtual).Tipo);
 }
Beispiel #16
0
 public bool PossuiPerfilCJ()
 => Perfis != null &&
 Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_CJ);
Beispiel #17
0
 public bool PossuiPerfilProfessorInfantil()
 => Perfis != null &&
 Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_PROFESSOR_INFANTIL);
Beispiel #18
0
 public bool PossuiPerfilProfessor()
 => Perfis != null &&
 Perfis.Any(c => c.CodigoPerfil == Dominio.Perfis.PERFIL_PROFESSOR);