コード例 #1
0
        /// <summary>
        /// Método que busca no banco de dados informações de usuario vinculado com suas permissões
        /// </summary>
        /// <param name="pParametro">Parametro de request com o Código de usuário do para
        /// buscar suas permissões no banco de dados de controle de acesso</param>
        /// <returns>Retorna o objeto preechido com Código de usuário e a lista de permissões</returns>
        public ReceberUsuarioResponse ListarIntranetPermissoesUsuario(UsuarioPermissaoInfo pParametro)
        {
            var lRetorno = new ReceberUsuarioResponse();

            try
            {
                var lAcessaDados = new AcessaDados();

                lAcessaDados.ConnectionStringName = gNomeConexaoControleAcesso;

                lRetorno.Usuario = new UsuarioInfo();

                lRetorno.Usuario.CodigoUsuario = pParametro.CodigoUsuario.ToString();

                lRetorno.Usuario.Permissoes = new List <PermissaoAssociadaInfo>();

                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_PermissoesPorUsuario_Intranet_sel"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "@CodigoUsuario", DbType.Int32, pParametro.CodigoUsuario);

                    DataTable lTable = lAcessaDados.ExecuteDbDataTable(lDbCommand);

                    if (lTable != null && lTable.Rows.Count > 0)
                    {
                        for (int i = 0; i < lTable.Rows.Count; i++)
                        {
                            DataRow lRow = lTable.Rows[i];

                            var lPermissao = new PermissaoAssociadaInfo();

                            lPermissao.CodigoPermissao = lRow["CodigoPermissao"].DBToString();

                            lRetorno.Usuario.Permissoes.Add(lPermissao);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            return(lRetorno);
        }
コード例 #2
0
ファイル: Permissoes.aspx.cs プロジェクト: radtek/Gradual
        public string ResponderCarregarHtmlComDados()
        {
            string Id           = Request["Id"];
            string TipoDeObjeto = Request["TipoDeObjeto"];

            MensagemRequestBase  lRequest;
            MensagemResponseBase lResponse;

            switch (TipoDeObjeto)
            {
            case "Usuario":
                lRequest = new ReceberUsuarioRequest()
                {
                    CodigoSessao  = this.CodigoSessao,
                    CodigoUsuario = Id
                };

                var lRequestUsuario = new UsuarioPermissaoInfo();

                lRequestUsuario.CodigoUsuario = Convert.ToInt32(Id);

                lResponse = new UsuarioPermissoesDbLib().ListarIntranetPermissoesUsuario(lRequestUsuario);

                break;

            case "Grupo":
                lRequest = new ReceberUsuarioGrupoRequest()
                {
                    CodigoSessao       = this.CodigoSessao,
                    CodigoUsuarioGrupo = Id
                };
                lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest);
                break;

            case "Perfil":
                lRequest = new ReceberPerfilRequest()
                {
                    CodigoSessao = this.CodigoSessao,
                    CodigoPerfil = Id
                };
                lResponse = this.ServicoSeguranca.ReceberPerfil((ReceberPerfilRequest)lRequest);
                break;

            default:
                return(RetornarErroAjax("Só é possível mostrar permissões para Grupos, usuários e perfis."));
            }



            if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
            {
                TransporteSegurancaPermissao lLista = new TransporteSegurancaPermissao();
                if (lResponse is ReceberUsuarioResponse)
                {
                    UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario;
                    lLista = ReceberLista(lUsuario.Permissoes, Id, TipoDeObjeto);
                }
                else if (lResponse is ReceberUsuarioGrupoResponse)
                {
                    UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo;
                    lLista = ReceberLista(lUsuarioGrupo.Permissoes, Id, TipoDeObjeto);
                }
                else
                {
                    PerfilInfo lPerfil = ((ReceberPerfilResponse)lResponse).Perfil;
                    lLista = ReceberLista(lPerfil.Permissoes, Id, TipoDeObjeto);
                }

                this.hidSeguranca_Permissoes_ListaJson.Value = JsonConvert.SerializeObject(lLista.Permissoes.ToArray());
            }
            else
            {
                return(RetornarErroAjax(lResponse.DescricaoResposta));
            }

            return(string.Empty);
        }