Esempio n. 1
0
        public string ResponderCarregarHtmlComDados()
        {
            string Id = Request["Id"];

            this.lblSeguranca_DadosCompletos_Usuario_Senha.Visible = false;

            TransporteSegurancaUsuario lDadosUsuario;
            ReceberUsuarioRequest      lRequest = new ReceberUsuarioRequest()
            {
                CodigoSessao  = this.CodigoSessao,
                CodigoUsuario = Id
            };

            ReceberUsuarioResponse lResponse = this.ServicoSeguranca.ReceberUsuario(lRequest);

            if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
            {
                lDadosUsuario = new TransporteSegurancaUsuario(lResponse.Usuario);

                hidDadosCompletos_Seguranca_Usuario.Value = JsonConvert.SerializeObject(lDadosUsuario);
            }
            else
            {
                return(RetornarErroAjax(lResponse.DescricaoResposta));
            }

            return(string.Empty);
        }
Esempio n. 2
0
        public string ResponderExcluir()
        {
            string lIdItem       = Request["Id"];
            string lItemPaiID    = lIdItem.Split('|')[0];
            string lUsuarioID    = lIdItem.Split('|')[1];
            string lTipoDeObjeto = lIdItem.Split('|')[2];

            ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest()
            {
                CodigoSessao  = this.CodigoSessao,
                CodigoUsuario = lUsuarioID
            };

            try
            {
                ReceberUsuarioResponse lResponse = ServicoSeguranca.ReceberUsuario(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    UsuarioInfo lUsuario = lResponse.Usuario;

                    if (lTipoDeObjeto == "Perfil")
                    {
                        lUsuario.Perfis.Remove(lItemPaiID);
                    }
                    else if (lTipoDeObjeto == "Grupo")
                    {
                        lUsuario.Grupos.Remove(lItemPaiID);
                    }

                    var lSalvarUsuarioReq = new SalvarUsuarioRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        Usuario      = lUsuario
                    };

                    SalvarUsuarioResponse lSalvarUsuarioRes = ServicoSeguranca.SalvarUsuario(lSalvarUsuarioReq);

                    if (lSalvarUsuarioRes.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        base.RegistrarLogExclusao(string.Concat("Excluido usuário: ", lResponse.Usuario.Email));
                        return(RetornarSucessoAjax("Usuario excluido com sucesso."));
                    }
                    else
                    {
                        return(RetornarErroAjax("Erro: " + lSalvarUsuarioRes.DescricaoResposta));
                    }
                }
                else
                {
                    return(RetornarErroAjax("Erro:" + lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax("Erro:" + ex.Message));
            }
        }
Esempio n. 3
0
        public string ResponderSalvar()
        {
            string lObjetoJson                  = Request["ObjetoJson"];
            string lTipoDeObjetoPai             = Request["TipoDeObjetoPai"];
            TransporteSegurancaItemFilho lDados = null;

            ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest()
            {
                CodigoSessao = this.CodigoSessao
            };

            ReceberUsuarioResponse lResponse = null;

            try
            {
                lDados = JsonConvert.DeserializeObject <TransporteSegurancaItemFilho>(lObjetoJson);

                lRequest.CodigoUsuario = lDados.Item;

                lResponse = this.ServicoSeguranca.ReceberUsuario(lRequest);


                UsuarioInfo lUsuario = lResponse.Usuario;

                if (lTipoDeObjetoPai == "Grupo")
                {
                    lUsuario.Grupos.Add(lDados.ParentId);
                }
                else if (lTipoDeObjetoPai == "Perfil")
                {
                    lUsuario.Perfis.Add(lDados.ParentId);
                }

                SalvarUsuarioRequest lSalvarUsuarioReq = new SalvarUsuarioRequest()
                {
                    CodigoSessao = this.CodigoSessao,
                    Usuario      = lUsuario
                };

                SalvarUsuarioResponse lSalvarUsuarioRes = ServicoSeguranca.SalvarUsuario(lSalvarUsuarioReq);

                if (lSalvarUsuarioRes.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogInclusao(string.Concat("Incluído usuário: ", lResponse.Usuario.Email));
                    return(RetornarSucessoAjax(new TransporteRetornoDeCadastro(lDados.ParentId + "|" + lDados.Item + "|" + lTipoDeObjetoPai), "Usuario associado com sucesso."));
                }
                else
                {
                    return(RetornarErroAjax(lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax(ex.Message));
            }
        }
Esempio n. 4
0
        public string ResponderCadastrar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaUsuario lDadosUsuario = null;

            SalvarUsuarioResponse lResponse = null;
            SalvarUsuarioRequest  lRequest  = new SalvarUsuarioRequest();

            UsuarioInfo lUsuarioInfo = new UsuarioInfo();

            try
            {
                lDadosUsuario = JsonConvert.DeserializeObject <TransporteSegurancaUsuario>(lObjetoJson);

                lUsuarioInfo = lDadosUsuario.ToUsuarioInfo();

                lUsuarioInfo.CodigoUsuario = "0";

                lRequest.Usuario = lUsuarioInfo;

                lRequest.CodigoSessao = this.CodigoSessao;

                lResponse = ServicoSeguranca.SalvarUsuario(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    ReceberUsuarioResponse lREsponseUsuario = ServicoSeguranca.ReceberUsuario(
                        new ReceberUsuarioRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        Email        = lUsuarioInfo.Email
                    });

                    if (lREsponseUsuario.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        lretorno = RetornarSucessoAjax(new TransporteRetornoDeCadastro(lREsponseUsuario.Usuario.CodigoUsuario), "Usuário cadastrado com sucesso");
                        base.RegistrarLogInclusao(string.Concat("Usuário incluído: ", lDadosUsuario.Email));
                    }
                    else
                    {
                        lretorno = RetornarErroAjax(lREsponseUsuario.DescricaoResposta);
                    }
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax("Erro durante o envio do pedido para cadastrar usuário", ex);
            }
            return(lretorno);
        }
Esempio n. 5
0
        public string ResponderSalvar()
        {
            string lRetorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaItemFilho lDados = null;

            ReceberUsuarioRequest lRequestUsuario = new ReceberUsuarioRequest()
            {
                CodigoSessao = this.CodigoSessao
            };

            ReceberUsuarioResponse lResponseUsuario = null;

            try
            {
                lDados = JsonConvert.DeserializeObject <TransporteSegurancaItemFilho>(lObjetoJson);

                lRequestUsuario.CodigoUsuario = lDados.ParentId;

                lResponseUsuario = this.ServicoSeguranca.ReceberUsuario(lRequestUsuario) as ReceberUsuarioResponse;

                UsuarioInfo lUsuario = lResponseUsuario.Usuario;

                lUsuario.Grupos.Add(lDados.Item);

                SalvarUsuarioRequest lRequest = new SalvarUsuarioRequest()
                {
                    CodigoSessao = this.CodigoSessao,
                    Usuario      = lUsuario
                };

                SalvarUsuarioResponse lResponse = this.ServicoSeguranca.SalvarUsuario(lRequest) as SalvarUsuarioResponse;

                lRetorno = base.RetornarSucessoAjax(new TransporteRetornoDeCadastro(lDados.ParentId + lDados.Item), "Dados alterados com sucesso");

                base.RegistrarLogInclusao(string.Concat("Inclusão do grupo: ", lDados.Item));
            }
            catch (Exception ex)
            {
                lRetorno = RetornarErroAjax(ex.Message);
            }

            return(lRetorno);
        }
Esempio n. 6
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);
        }
Esempio n. 7
0
        public string ResponderExcluir()
        {
            string lIdItem = Request["Id"];

            try
            {
                string lCodigoUsuario = lIdItem.Split('|')[0];
                string lCodigoGrupo   = lIdItem.Split('|')[1];

                ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest()
                {
                    CodigoSessao  = this.CodigoSessao,
                    CodigoUsuario = lCodigoUsuario
                };

                ReceberUsuarioResponse lResponse = ServicoSeguranca.ReceberUsuario(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    lResponse.Usuario.Grupos.Remove(lCodigoGrupo);

                    MensagemResponseBase lREsponseAUx = ServicoSeguranca.SalvarUsuario(new SalvarUsuarioRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        Usuario      = lResponse.Usuario
                    });

                    if (lREsponseAUx.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        base.RegistrarLogExclusao();
                        return(RetornarSucessoAjax("Grupo removido com sucesso."));
                    }
                    else
                    {
                        return(RetornarErroAjax(lREsponseAUx.DescricaoResposta));
                    }
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax(ex.Message));
            }
            return(string.Empty);
        }
Esempio n. 8
0
        private static void testeBruno()
        {
            // Referencia para a mensageria
            IServicoMensageria servicoMensageria = Ativador.Get <IServicoMensageria>();

            // Faz a autenticacao
            AutenticarUsuarioResponse responseAutenticacao =
                (AutenticarUsuarioResponse)
                servicoMensageria.ProcessarMensagem(
                    new AutenticarUsuarioRequest()
            {
                Email = "*****@*****.**",
                Senha = "123"
            });

            // Recebe o usuario
            ReceberUsuarioResponse respostaReceberUsuario =
                (ReceberUsuarioResponse)
                servicoMensageria.ProcessarMensagem(
                    new ReceberUsuarioRequest()
            {
                CodigoSessao = null,
                Email        = "*****@*****.**"
            });

            // Verifica se tem o contexto, senao cria
            ContextoOMSInfo contextoOMS =
                respostaReceberUsuario.Usuario.Complementos.ReceberItem <ContextoOMSInfo>();

            if (contextoOMS == null)
            {
                contextoOMS = respostaReceberUsuario.Usuario.Complementos.AdicionarItem <ContextoOMSInfo>(new ContextoOMSInfo());
            }

            // Verifica se tem conta corrente, senao cria
            if (contextoOMS.CodigoContaCorrente != null)
            {
                // Cria conta corrente vazia
                ContaCorrenteInfo contaCorrente =
                    new ContaCorrenteInfo()
                {
                };

                // Salva conta corrente criada
                SalvarContaCorrenteResponse respostaSalvarContaCorrente =
                    (SalvarContaCorrenteResponse)
                    servicoMensageria.ProcessarMensagem(
                        new SalvarContaCorrenteRequest()
                {
                    CodigoSessao      = responseAutenticacao.Sessao.CodigoSessao,
                    ContaCorrenteInfo = contaCorrente
                });

                // Associa conta corrente ao usuário
                contextoOMS.CodigoContaCorrente = contaCorrente.CodigoContaCorrente;

                // Salva usuário
                SalvarUsuarioResponse respostaSalvarUsuario =
                    (SalvarUsuarioResponse)
                    servicoMensageria.ProcessarMensagem(
                        new SalvarUsuarioRequest()
                {
                    CodigoSessao = responseAutenticacao.Sessao.CodigoSessao,
                    Usuario      = respostaReceberUsuario.Usuario
                });
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Retorna o detalhe de um usuário
        /// </summary>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public ReceberUsuarioResponse ReceberUsuario(ReceberUsuarioRequest parametros)
        {
            logger.Debug("ReceberUsuario, inicio");

            // Faz a solicitação para a persistencia
            ReceberUsuarioResponse resposta =
                new ReceberUsuarioResponse()
            {
                CodigoMensagemRequest = parametros.CodigoMensagem
            };

            // Faz a consulta pelo código ou pelo email
            if (parametros.CodigoUsuario != null)
            {
                logger.Debug("Consulta por código do usuário");

                // Consulta por código do usuário
                resposta.Usuario =
                    _servicoPersistencia.ReceberObjeto <UsuarioInfo>(
                        new ReceberObjetoRequest <UsuarioInfo>()
                {
                    CodigoObjeto = parametros.CodigoUsuario
                }).Objeto;
            }
            else
            {
                logger.Debug("// Consulta por email");
                // Consulta por email
                ConsultarObjetosResponse <UsuarioInfo> respostaConsultar =
                    _servicoPersistencia.ConsultarObjetos <UsuarioInfo>(
                        new ConsultarObjetosRequest <UsuarioInfo>()
                {
                    CodigoSessao = parametros.CodigoSessao,

                    Condicoes =
                        new List <CondicaoInfo>()
                    {
                        new CondicaoInfo(IsNumeric(parametros.Email.Trim()) ? "CodCblc" : "Email", CondicaoTipoEnum.Igual, parametros.Email)
                    }
                });

                // Verifica se encontrou
                if (respostaConsultar.Resultado != null)
                {
                    logger.Debug("respostaConsultar.Resultado.Count = " + respostaConsultar.Resultado.Count);
                    if (respostaConsultar.Resultado.Count > 0)
                    {
                        resposta.Usuario = respostaConsultar.Resultado[0];
                    }
                }
            }

            // Completa permissões
            if (resposta.Usuario != null && resposta.Usuario.Permissoes != null)
            {
                foreach (PermissaoAssociadaInfo permissaoAssociada in resposta.Usuario.Permissoes)
                {
                    logger.Debug("PermissaoAssociadaInfo: " + permissaoAssociada.CodigoPermissao + "|" + permissaoAssociada.Status.ToString());
                }
            }

            logger.Debug("parametros.PreencherColecoesCompletas:" + parametros.PreencherColecoesCompletas);

            // Se pediu para preencher completo, verifica se está preenchido
            if (parametros.PreencherColecoesCompletas)
            {
                // Preencheu grupos?
                if (resposta.Usuario.Grupos2 == null)
                {
                    logger.Debug("nao preeencheu grupos 2");

                    // Cria a coleção
                    resposta.Usuario.Grupos2 = new List <UsuarioGrupoInfo>();

                    logger.Debug("resposta.Usuario.Grupos" + resposta.Usuario.Grupos.Count + " itens");

                    // Varre os grupos informados pedindo o detalhe do grupo
                    foreach (string codigoGrupo in resposta.Usuario.Grupos)
                    {
                        logger.Debug("Codigo Grupo " + codigoGrupo);

                        resposta.Usuario.Grupos2.Add(
                            this.ReceberUsuarioGrupo(
                                new ReceberUsuarioGrupoRequest()
                        {
                            CodigoUsuarioGrupo         = codigoGrupo,
                            PreencherColecoesCompletas = true
                        }).UsuarioGrupo);
                    }
                }

                // Preencheu perfis?
                if (resposta.Usuario.Perfis2 == null)
                {
                    // Cria a coleção
                    resposta.Usuario.Perfis2 = new List <PerfilInfo>();

                    logger.Debug("resposta.Usuario.Perfis" + resposta.Usuario.Perfis.Count + " itens");

                    // Varre os grupos informados pedindo o detalhe do perfil
                    foreach (string codigoPerfil in resposta.Usuario.Perfis)
                    {
                        logger.Debug("Codigo Perfil " + codigoPerfil);

                        resposta.Usuario.Perfis2.Add(
                            this.ReceberPerfil(
                                new ReceberPerfilRequest()
                        {
                            CodigoPerfil = codigoPerfil,
                            PreencherColecoesCompletas = true
                        }).Perfil);
                    }
                }

                logger.Debug("resposta.Usuario.Permissoes" + resposta.Usuario.Permissoes.Count + " itens");

                // Completa permissões
                foreach (PermissaoAssociadaInfo permissaoAssociada in resposta.Usuario.Permissoes)
                {
                    logger.Debug("PermissaoAssociadaInfo: " + permissaoAssociada.CodigoPermissao + "|" + permissaoAssociada.Status.ToString());


                    permissaoAssociada.PermissaoInfo =
                        _permissoes.ListaPorCodigo[permissaoAssociada.CodigoPermissao];
                }
            }

            // Retorna o usuario solicitado
            return(resposta);
        }
Esempio n. 10
0
        public string ResponderAtualizar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = this.Request.Form["ObjetoJson"];

            TransporteSegurancaUsuario lDadosUsuario = null;

            SalvarUsuarioResponse lResponseSalvar = null;
            SalvarUsuarioRequest  lRequestSalvar  = new SalvarUsuarioRequest()
            {
                CodigoSessao = this.CodigoSessao
            };

            UsuarioInfo lUsuarioInfo = null;

            try
            {
                lDadosUsuario = JsonConvert.DeserializeObject <TransporteSegurancaUsuario>(lObjetoJson);

                ReceberUsuarioResponse lResponseReceber = ServicoSeguranca.ReceberUsuario(
                    new ReceberUsuarioRequest()
                {
                    CodigoSessao  = this.CodigoSessao,
                    CodigoUsuario = lDadosUsuario.Id
                });

                if (lResponseReceber.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    lUsuarioInfo       = lResponseReceber.Usuario;
                    lUsuarioInfo.Nome  = lDadosUsuario.Nome;
                    lUsuarioInfo.Email = lDadosUsuario.Email;
                    int lTipoAcesso = 0;
                    if (int.TryParse(lDadosUsuario.TipoAcesso, out lTipoAcesso))
                    {
                        lUsuarioInfo.CodigoTipoAcesso = lTipoAcesso;
                    }

                    if ((eTipoAcesso)lTipoAcesso == eTipoAcesso.Assessor)
                    {
                        int lCodAssessor = -1;
                        if (int.TryParse(lDadosUsuario.CodAssessor, out lCodAssessor))
                        {
                            lUsuarioInfo.CodigoAssessor       = lCodAssessor;
                            lUsuarioInfo.CodigosFilhoAssessor = lDadosUsuario.CodAssessorAssociado;
                        }
                        else
                        {
                            throw new Exception("Codigo de assessor inválido.");
                        }
                    }

                    lRequestSalvar.Usuario = lUsuarioInfo;

                    lResponseSalvar = ServicoSeguranca.SalvarUsuario(lRequestSalvar);

                    if (lResponseSalvar.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        lretorno = RetornarSucessoAjax("Usuário alterado com sucesso");
                        base.RegistrarLogAlteracao(string.Concat("Usuário alterado: ", lDadosUsuario.Email));
                    }
                    else
                    {
                        lretorno = RetornarErroAjax(lResponseSalvar.DescricaoResposta);
                    }
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponseReceber.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax("Erro durante o envio do request para cadastrar usuário", ex);
            }

            return(lretorno);
        }
Esempio n. 11
0
        /// <summary>
        /// Garante que o usuário necessário está criado com as caracteristicas
        /// necessárias
        /// </summary>
        private UsuarioInfo receberUsuarioTeste()
        {
            // Se o usuário já foi carregado, retorna o carregado
            if (_usuarioTeste != null)
            {
                return(_usuarioTeste);
            }

            // Inicializa
            UsuarioInfo usuarioTeste  = null;
            bool        salvarUsuario = false;

            // Garante a criação do usuário
            ReceberUsuarioResponse respostaReceberUsuario =
                (ReceberUsuarioResponse)
                _servicoMensageria.ProcessarMensagem(
                    new ReceberUsuarioRequest()
            {
                CodigoSessao  = receberSessaoAdmin().CodigoSessao,
                CodigoUsuario = _consUsuarioTeste
            });

            if (respostaReceberUsuario.Usuario == null)
            {
                // Cria o usuário
                usuarioTeste =
                    new UsuarioInfo()
                {
                    CodigoUsuario = _consUsuarioTeste,
                    Senha         = _consUsuarioTesteSenha,
                    Nome          = _consUsuarioTeste,
                    Status        = UsuarioStatusEnum.Habilitado
                };

                // Sinaliza
                salvarUsuario = true;
            }
            else
            {
                // Pega o usuário
                usuarioTeste = respostaReceberUsuario.Usuario;
            }

            // Garante a criação do contexto do oms
            ContextoOMSInfo contextoOMS = usuarioTeste.Complementos.ReceberItem <ContextoOMSInfo>();

            if (contextoOMS == null)
            {
                // Cria o novo contexto e associa ao usuário
                contextoOMS =
                    new ContextoOMSInfo()
                {
                    CodigoCBLC        = _consCodigoCBLC,
                    CodigoPerfilRisco = _consCodigoPerfilRisco
                };
                usuarioTeste.Complementos.AdicionarItem <ContextoOMSInfo>(contextoOMS);

                // Sinaliza
                salvarUsuario = true;
            }
            else
            {
                // Verifica se o código CBLC está correto
                if (contextoOMS.CodigoCBLC != _consCodigoCBLC || contextoOMS.CodigoPerfilRisco != _consCodigoPerfilRiscoUsuario)
                {
                    // Atribui
                    contextoOMS.CodigoCBLC        = _consCodigoCBLC;
                    contextoOMS.CodigoPerfilRisco = _consCodigoPerfilRiscoUsuario;

                    // Sinaliza
                    salvarUsuario = true;
                }
            }

            // Garante que o usuário tem permissão de acesso ao sistema
            PermissaoAcessarSistema permissaoAcessarSistema = new PermissaoAcessarSistema();

            if (usuarioTeste.Permissoes.Find(p => p.CodigoPermissao == permissaoAcessarSistema.PermissaoInfo.CodigoPermissao) == null)
            {
                // Adiciona a permissao
                usuarioTeste.Permissoes.Add(
                    new PermissaoAssociadaInfo()
                {
                    CodigoPermissao = permissaoAcessarSistema.PermissaoInfo.CodigoPermissao,
                    Status          = PermissaoAssociadaStatusEnum.Permitido
                });

                // Sinaliza
                salvarUsuario = true;
            }

            // Verifica se deve salvar o usuario
            if (salvarUsuario)
            {
                usuarioTeste =
                    ((SalvarUsuarioResponse)
                     _servicoMensageria.ProcessarMensagem(
                         new SalvarUsuarioRequest()
                {
                    CodigoSessao = receberSessaoAdmin().CodigoSessao,
                    Usuario = usuarioTeste
                })).Usuario;
            }

            // Salva no cache
            _usuarioTeste = usuarioTeste;

            // Retorna
            return(usuarioTeste);
        }
Esempio n. 12
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));
            }
        }