Esempio n. 1
0
        /// <summary>
        /// Lista todas as atividades que a pessoa tem acesso.
        /// AtividadesDaFuncao + AtividadesExtras - AtividadesBloqueadas.
        /// </summary>
        /// <returns></returns>
        public virtual List <int> ListarTodasAtividades()
        {
            List <int> listaAtividadesUsuario = new List <int>();

            AtividadeUnidadeExercicioPermissao[] arrayAtividadesSubUnidade = null;

            SrvUnidadeExercicioFuncaoPessoa objSrvUEFP = new SrvUnidadeExercicioFuncaoPessoa();
            SrvAtividade objSrvAtividade = new SrvAtividade();

            List <int> listaUnidadeExercicioPessoa = objSrvUEFP.getUnidadesPessoa(this.Id);
            List <int> listaAtividadesPadrao       = objSrvAtividade.listarAtividadesPadrao();

            if (listaUnidadeExercicioPessoa != null && listaUnidadeExercicioPessoa.Count > 0)
            {
                SrvAtividadeUnidadeExercicioPermissao objSrvAUEP = new SrvAtividadeUnidadeExercicioPermissao();
                arrayAtividadesSubUnidade = objSrvAUEP.listarAtividadesSubUnidades(listaUnidadeExercicioPessoa);
            }

            AtividadePessoaPermissao[] arrayAtividadesAcessoLiberado = this.ListarAtividadesComAcessoPermitido();
            AtividadePessoaPermissao[] arrayAtividadesAcessoRestrito = this.ListarAtividadesComAcessoRestrito();

            foreach (int i in listaAtividadesPadrao)
            {
                listaAtividadesUsuario.Add(i);
            }

            foreach (AtividadeUnidadeExercicioPermissao oAtividadeFuncao in arrayAtividadesSubUnidade)
            {
                if (!listaAtividadesUsuario.Contains(oAtividadeFuncao.Atividade.Id))
                {
                    listaAtividadesUsuario.Add(oAtividadeFuncao.Atividade.Id);
                }
            }

            foreach (AtividadePessoaPermissao oAtividadePessoa in arrayAtividadesAcessoLiberado)
            {
                if (oAtividadePessoa.Atividade != null && !listaAtividadesUsuario.Contains(oAtividadePessoa.Atividade.Id))
                {
                    listaAtividadesUsuario.Add(oAtividadePessoa.Atividade.Id);
                }
            }

            foreach (AtividadePessoaPermissao oAtividadePessoa in arrayAtividadesAcessoRestrito)
            {
                if (listaAtividadesUsuario.Contains(oAtividadePessoa.Atividade.Id))
                {
                    listaAtividadesUsuario.Remove(oAtividadePessoa.Atividade.Id);
                }
            }

            return(listaAtividadesUsuario);
        }
Esempio n. 2
0
        public virtual Atividade[] ListarTodasAtividadesMenu()
        {
            SrvUnidadeExercicioFuncaoPessoa       objSrvUEFP          = new SrvUnidadeExercicioFuncaoPessoa();
            SrvAtividadeUnidadeExercicioPermissao objSrvAtiUniExerPer = new SrvAtividadeUnidadeExercicioPermissao();
            SrvAtividade objSrvAtividade = new SrvAtividade();

            List <Atividade> listaTodasAtividades = objSrvAtividade.listarObjsAtividadesPadrao();

            List <string> listaUnidadesPessoa = objSrvUEFP.listarSubUnidadesPessoa(this.Id);

            AtividadeUnidadeExercicioPermissao[] arrayAtividadesFuncao = objSrvAtiUniExerPer.ListarAtividadesMenu(listaUnidadesPessoa);

            AtividadePessoaPermissao[] arrayAtividadesAcessoLiberado = this.ListarAtividadesComAcessoPermitidoMenu();
            AtividadePessoaPermissao[] arrayAtividadesAcessoRestrito = this.ListarAtividadesComAcessoRestritoMenu();

            // adiciona as atividades da funcao da pessoa:
            foreach (AtividadeUnidadeExercicioPermissao oAtividadeFuncao in arrayAtividadesFuncao)
            {
                bool contem = false;
                for (int i = 0; i < listaTodasAtividades.Count; i++)
                {
                    if (oAtividadeFuncao.Atividade.Descricao == listaTodasAtividades[i].Descricao)
                    {
                        contem = true;
                        break;
                    }
                }

                if (!contem)
                {
                    listaTodasAtividades.Add(oAtividadeFuncao.Atividade);
                }
            }

            // adiciona as atividades com acesso liberado:
            foreach (AtividadePessoaPermissao oAtvLiberada in arrayAtividadesAcessoLiberado)
            {
                bool contem = false;
                for (int i = 0; i < listaTodasAtividades.Count; i++)
                {
                    if (oAtvLiberada.Atividade.Descricao == listaTodasAtividades[i].Descricao)
                    {
                        contem = true;
                        break;
                    }
                }

                if (!contem)
                {
                    listaTodasAtividades.Add(oAtvLiberada.Atividade);
                }
            }

            // remove as atividades com acesso restrito:
            foreach (AtividadePessoaPermissao oAtvBloqueada in arrayAtividadesAcessoRestrito)
            {
                for (int i = 0; i < listaTodasAtividades.Count; i++)
                {
                    if (oAtvBloqueada.Atividade.Descricao == listaTodasAtividades[i].Descricao)
                    {
                        listaTodasAtividades.RemoveAt(i);
                    }
                }
            }

            listaTodasAtividades.Sort(new SrvOrdenacaoAtividade("Descricao", true));


            return(listaTodasAtividades.ToArray());
        }