/// <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); }
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()); }