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