예제 #1
0
        // Método que Dá AllowAccess aos Modulos e Formulários para um Perfil
        public void AtribuirAllowAccessPerfil(PerfilDTO perfil, List <PermissaoFormularioDTO> permissoes)
        {
            int tag = 0;

            foreach (PermissaoFormularioDTO permissao in permissoes)
            {
                if (permissao.AllowAccess == 1)
                {
                    if (tag != permissao.Formulario.TAG)
                    {
                        PermissaoFormularioDTO dto = new PermissaoFormularioDTO();
                        foreach (FormularioDTO subMenu in FormularioRN.GetInstance().ObterFormulariosSubModulo())
                        {
                            if (subMenu.TAG == permissao.Formulario.TAG)
                            {
                                dto.Formulario  = subMenu;
                                dto.AllowAccess = 1;
                                dto.Perfil      = perfil;
                                daoPermissaoFormulario.Excluir(dto);
                                daoPermissaoFormulario.Inserir(dto);
                                tag = permissao.Formulario.TAG;
                                break;
                            }
                        }
                    }
                }

                daoPermissaoFormulario.Excluir(permissao);
                daoPermissaoFormulario.Inserir(permissao);
            }
            EliminarSolitarios(null, perfil);
        }
예제 #2
0
        private void ZeraAcessos(PerfilDTO dto)
        {
            if (dto.Codigo > 0)
            {
                List <ModuloDTO> modulos   = ModuloRN.GetInstance().ObterTodosModulos();
                ModuloDTO        dtoModulo = null;
                for (int i = 0; i < modulos.Count; i++)
                {
                    PermissaoModuloDTO dtoPerMod = new PermissaoModuloDTO();

                    dtoModulo        = new ModuloDTO();
                    dtoModulo.Codigo = modulos[i].Codigo;
                    dtoPerMod.Modulo = dtoModulo;

                    dto = new PerfilDTO();
                    dtoPerMod.Perfil = dto;

                    dtoPerMod.Acesso       = 0;
                    dtoPerMod.Autorizar    = 0;
                    dtoPerMod.Visibilidade = 0;
                    PermissaoModuloRN.GetInstance().Inserir(dtoPerMod);

                    // Instancia os Formulários
                    FormularioDTO dtoForm = new FormularioDTO();
                    dtoForm.Modulo = dtoModulo;

                    // Obtem os Formulário do Módulo
                    List <FormularioDTO> formularios = FormularioRN.GetInstance().ObterFormulariosPorModulo(dtoForm);

                    if (formularios.Count > 0)
                    {
                        for (int f = 0; f < formularios.Count; f++)
                        {
                            PermissaoFormularioDTO dtoPermForm = new PermissaoFormularioDTO();

                            dtoForm        = new FormularioDTO();
                            dtoForm.Codigo = formularios[f].Codigo;

                            dtoPermForm.Formulario  = dtoForm;
                            dtoPermForm.Perfil      = dto;
                            dtoPermForm.AllowAccess = 0;
                            dtoPermForm.AllowUpdate = 0;
                            dtoPermForm.AllowSelect = 0;
                            dtoPermForm.AllowDelete = 0;
                            dtoPermForm.AllowPrint  = 0;
                            dtoPermForm.AllowInsert = 0;
                            PermissaoFormularioRN.GetInstance().InserirPermissoesFormulario(dtoPermForm);
                        }
                    }
                }
            }
        }
예제 #3
0
        public Boolean SetUserAccess(UtilizadorDTO objUser, List <PermissaoFormularioDTO> Documentos)
        {
            bool sucesso = false;
            int  tag     = 0;

            foreach (PermissaoFormularioDTO pemissao in Documentos)
            {
                PermissaoFormularioDTO dto = new PermissaoFormularioDTO();
                pemissao.Utilizador = objUser.Utilizador;
                FormularioDTO cabecalhoForm = FormularioRN.GetInstance().ObterPorSubModulo(pemissao.Formulario);
                if (pemissao.AllowAccess == 1)
                {
                    if (tag != pemissao.Formulario.TAG)
                    {
                        dto             = new PermissaoFormularioDTO();
                        dto.AllowAccess = 1;
                        dto.Formulario  = cabecalhoForm;
                        dto.Utilizador  = pemissao.Utilizador;
                        ExcluirAcessoDoUtilizadorAoFormulario(dto);
                        sucesso = daoPermissaoUtilizador.Inserir(dto).Sucesso;
                        tag     = pemissao.Formulario.TAG;
                    }

                    if (pemissao.Formulario.Codigo.Equals(48))
                    {
                        pemissao.AllowSelect = 1;
                    }
                }
                sucesso = true;



                if (sucesso)
                {
                    ExcluirAcessoDoUtilizadorAoFormulario(pemissao);
                    daoPermissaoUtilizador.Inserir(pemissao);
                }
                else
                {
                    sucesso = false;
                    break;
                }
            }
            EliminarSolitarios(objUser, null);
            return(sucesso);
        }
예제 #4
0
        public void AtribuirPermissoesPadrao(string utilizador)
        {
            UtilizadorDTO dtoUser = new UtilizadorDTO();

            dtoUser.Utilizador = utilizador;

            List <FormularioDTO>          formularios = FormularioRN.GetInstance().ObterTodosFormularios();
            List <PermissaoFormularioDTO> permissoes  = new List <PermissaoFormularioDTO>();

            foreach (FormularioDTO dtoForm in formularios)
            {
                PermissaoFormularioDTO dtoPermissao = new PermissaoFormularioDTO();
                dtoPermissao.AllowAccess = 0;
                dtoPermissao.AllowUpdate = 0;
                dtoPermissao.AllowSelect = 0;
                dtoPermissao.AllowDelete = 0;
                dtoPermissao.Formulario  = dtoForm;
                dtoPermissao.AllowPrint  = 0;
                dtoPermissao.Utilizador  = dtoUser.Utilizador;
                permissoes.Add(dtoPermissao);
                this.AddUserAccess(dtoPermissao);
            }
        }
예제 #5
0
        // Obtem os SubModulos do Sistema


        public void EliminarSolitarios(UtilizadorDTO objUtilizador, PerfilDTO objPerfil)
        {
            if (objUtilizador != null && objUtilizador.Utilizador != "")
            {
                foreach (FormularioDTO menu in FormularioRN.GetInstance().ObterFormulariosSubModulo())
                {
                    PermissaoFormularioDTO dto = new PermissaoFormularioDTO();
                    dto.Formulario = menu;
                    dto.Utilizador = objUtilizador.Utilizador;
                    daoPermissaoUtilizador.ExcluirDesemparelhados(dto);
                }
            }
            else if (objPerfil != null && objPerfil.Codigo > 0)
            {
                foreach (FormularioDTO menu in FormularioRN.GetInstance().ObterFormulariosSubModulo())
                {
                    PermissaoFormularioDTO dto = new PermissaoFormularioDTO();
                    dto.Formulario = menu;
                    dto.Perfil     = objPerfil;
                    daoPermissaoFormulario.ExcluirSolitarios(dto);
                }
            }
        }