public virtual void AdicionarPermissao(EtapaPermissao permissao) { if (Permissoes.Any() == false || PermissaoExiste(permissao, Permissoes.ToList()) == false) { Permissoes.Add(permissao); } }
private static bool ValorSimplesIsEqual(string campo, object valor, EtapaPermissao p) { var value = p.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).FirstOrDefault(x => x.Name == campo)? .GetValue(p); if (value == null) { return(false); } return(value.Equals(valor)); }
private bool PermissaoGerenteAdjuntoNotificarExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.Notificar == true && permissao.GerenteAdjunto != null && PermissaoSimplesNotificarExiste(nameof(permissao.GerenteAdjunto), permissao.GerenteAdjunto, permissoes)); }
private bool PermissaoSolicitanteNotificarExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.Notificar == true && permissao.Solicitante != null && PermissaoSimplesNotificarExiste(nameof(permissao.Solicitante), permissao.Solicitante, permissoes)); }
private bool PermissaoChefeImediatoNotificarExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.Notificar == true && permissao.ChefeImediato != null && PermissaoSimplesNotificarExiste(nameof(permissao.ChefeImediato), permissao.ChefeImediato, permissoes)); }
private bool PermissaoDiretorCorrespondenteNotificarExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.Notificar == true && permissao.DiretorCorrespondente != null && PermissaoSimplesNotificarExiste(nameof(permissao.DiretorCorrespondente), permissao.DiretorCorrespondente, permissoes)); }
private bool PermissaoUsuarioNotificarExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.Notificar == true && permissao.Usuario != null && PermissaoNotificarComplexaExiste(nameof(permissao.Usuario), nameof(permissao.Usuario.ID), permissao.Usuario.ID, permissoes)); }
private bool PermissaoPerfilExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.Perfil != null && PermissaoComplexaExiste(nameof(permissao.Perfil), nameof(permissao.Perfil.ID), permissao.Perfil.ID, permissoes)); }
private bool PermissaoUfExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.Uf != null && PermissaoComplexaExiste(nameof(permissao.Uf), nameof(permissao.Uf.ID), permissao.Uf.ID, permissoes)); }
private bool PermissaoNivelOcupacionalExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { return(permissao.NivelOcupacional != null && PermissaoComplexaExiste(nameof(permissao.NivelOcupacional), nameof(permissao.NivelOcupacional.ID), permissao.NivelOcupacional.ID, permissoes)); }
/// <summary> /// Verificar se a permissão existe na listagem de permissões de /// </summary> /// <returns></returns> private bool PermissaoExiste(EtapaPermissao permissao, List <EtapaPermissao> permissoes) { // Verificar dinamicamente as permissões SIMPLES. if (PermissaoNivelOcupacionalExiste(permissao, permissoes)) { return(true); } if (PermissaoUfExiste(permissao, permissoes)) { return(true); } if (PermissaoPerfilExiste(permissao, permissoes)) { return(true); } // Verificar dinamicamente as permissões COMPOSTAS. if (PermissaoUsuarioAnalisarExiste(permissao, permissoes)) { return(true); } if (PermissaoUsuarioNotificarExiste(permissao, permissoes)) { return(true); } if (PermissaoChefeImediatoAnalisarExiste(permissao, permissoes)) { return(true); } if (PermissaoChefeImediatoNotificarExiste(permissao, permissoes)) { return(true); } if (PermissaoDiretorCorrespondenteAnalisarExiste(permissao, permissoes)) { return(true); } if (PermissaoDiretorCorrespondenteNotificarExiste(permissao, permissoes)) { return(true); } if (PermissaoGerenteAdjuntoAnalisarExiste(permissao, permissoes)) { return(true); } if (PermissaoGerenteAdjuntoNotificarExiste(permissao, permissoes)) { return(true); } if (PermissaoSolicitanteAnalisarExiste(permissao, permissoes)) { return(true); } if (PermissaoSolicitanteNotificarExiste(permissao, permissoes)) { return(true); } return(false); }