예제 #1
0
        /// <summary>
        /// Retorna um usuario grupo
        /// </summary>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public ReceberUsuarioGrupoResponse ReceberUsuarioGrupo(ReceberUsuarioGrupoRequest parametros)
        {
            // Faz a solicitação para a persistencia
            ReceberUsuarioGrupoResponse resposta =
                new ReceberUsuarioGrupoResponse()
            {
                CodigoMensagemRequest = parametros.CodigoMensagem,
                UsuarioGrupo          =
                    _servicoPersistencia.ReceberObjeto <UsuarioGrupoInfo>(
                        new ReceberObjetoRequest <UsuarioGrupoInfo>()
                {
                    CodigoObjeto = parametros.CodigoUsuarioGrupo
                }).Objeto
            };

            // Se pediu para preencher completo, verifica se está preenchido
            if (parametros.PreencherColecoesCompletas)
            {
                // Preencheu perfis?
                if (resposta.UsuarioGrupo.Perfis2 == null)
                {
                    // Cria a coleção
                    resposta.UsuarioGrupo.Perfis2 = new List <PerfilInfo>();

                    // Varre os grupos informados pedindo o detalhe do perfil
                    foreach (string codigoPerfil in resposta.UsuarioGrupo.Perfis)
                    {
                        resposta.UsuarioGrupo.Perfis2.Add(
                            this.ReceberPerfil(
                                new ReceberPerfilRequest()
                        {
                            CodigoPerfil = codigoPerfil,
                            PreencherColecoesCompletas = true
                        }).Perfil);
                    }
                }

                // Completa permissões
                foreach (PermissaoAssociadaInfo permissaoAssociada in resposta.UsuarioGrupo.Permissoes)
                {
                    permissaoAssociada.PermissaoInfo =
                        _permissoes.ListaPorCodigo[permissaoAssociada.CodigoPermissao];
                }
            }

            // Retorna o usuario grupo solicitado
            return(resposta);
        }
예제 #2
0
        public string ResponderCarregarHtmlComDados()
        {
            string Id = Request["Id"];
            TransporteSegurancaGrupo   lDadosUsuarioGrupo;
            ReceberUsuarioGrupoRequest lRequest = new ReceberUsuarioGrupoRequest()
            {
                CodigoSessao       = this.CodigoSessao,
                CodigoUsuarioGrupo = Id
            };

            ReceberUsuarioGrupoResponse lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo(lRequest) as ReceberUsuarioGrupoResponse;

            lDadosUsuarioGrupo = new TransporteSegurancaGrupo(lResponse.UsuarioGrupo);

            hidDadosCompletos_Seguranca_Grupo.Value = JsonConvert.SerializeObject(lDadosUsuarioGrupo);

            return(string.Empty);
        }
예제 #3
0
        public string ReceberPermissoes()
        {
            string lObjetoJson = Request.Params["ObjetoJson"];

            try
            {
                TransporteSegurancaDadosAssociados lDados = JsonConvert.DeserializeObject <TransporteSegurancaDadosAssociados>(lObjetoJson);
                lDados.Consultar            =
                    lDados.Excluir          =
                        lDados.Salvar       =
                            lDados.Executar = false;
                if (lDados.EhGrupo)
                {
                    ReceberUsuarioGrupoRequest lReuqest = new ReceberUsuarioGrupoRequest()
                    {
                        CodigoSessao           = this.CodigoSessao,
                        CodigoUsuarioGrupo     = lDados.Grupo,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    ReceberUsuarioGrupoResponse lRes = ServicoSeguranca.ReceberUsuarioGrupo(lReuqest);

                    List <PermissaoInfo> permissoes = ListaDePermissoes.Where(p => p.GetType().Name.Contains(lDados.Interface)).ToList();

                    foreach (PermissaoAssociadaInfo lPI in lRes.UsuarioGrupo.Permissoes)
                    {
                        PermissaoInfo lPermissao = permissoes.Find(p => p.CodigoPermissao == lPI.CodigoPermissao);
                        if (lPermissao != null)
                        {
                            if (lPermissao.GetType().Name.Contains("Excluir"))
                            {
                                lDados.Excluir = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Executar"))
                            {
                                lDados.Executar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Consultar"))
                            {
                                lDados.Consultar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Salvar"))
                            {
                                lDados.Salvar = true;
                            }
                        }
                    }
                }
                else
                {
                    ReceberUsuarioRequest lReuqest = new ReceberUsuarioRequest()
                    {
                        CodigoSessao           = this.CodigoSessao,
                        CodigoUsuario          = lDados.Usuario,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    ReceberUsuarioResponse lRes = ServicoSeguranca.ReceberUsuario(lReuqest);

                    List <PermissaoInfo> permissoes = ListaDePermissoes.Where(p => p.GetType().Name.Contains(lDados.Interface)).ToList();

                    foreach (PermissaoAssociadaInfo lPI in lRes.Usuario.Permissoes)
                    {
                        PermissaoInfo lPermissao = permissoes.Find(p => p.CodigoPermissao == lPI.CodigoPermissao);
                        if (lPermissao != null)
                        {
                            if (lPermissao.GetType().Name.Contains("Excluir"))
                            {
                                lDados.Excluir = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Executar"))
                            {
                                lDados.Executar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Consultar"))
                            {
                                lDados.Consultar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Salvar"))
                            {
                                lDados.Salvar = true;
                            }
                        }
                    }
                }
                return(RetornarSucessoAjax(lDados, "Ok"));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
                return(RetornarErroAjax(ex.Message));
            }
        }