Ejemplo n.º 1
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
                });
            }
        }
Ejemplo n.º 2
0
        public SalvarObjetoResponse <UsuarioInfo> SalvarObjeto(SalvarObjetoRequest <UsuarioInfo> parametros)
        {
            DataSet ds = null;

            // Monta parametros
            Dictionary <string, object> paramsProc = new Dictionary <string, object>();

            int codigoUsuario = 0;

            if (int.TryParse(parametros.Objeto.CodigoUsuario, out codigoUsuario))
            {
                paramsProc.Add("@id_login", codigoUsuario);
            }
            paramsProc.Add("@ds_nome", parametros.Objeto.Nome);

            if ((parametros.Objeto.Email == null || parametros.Objeto.Email == string.Empty) && parametros.Objeto.NomeAbreviado == "Adm")
            {
                parametros.Objeto.Email = "Admin";
            }

            paramsProc.Add("@ds_email", parametros.Objeto.Email);
            paramsProc.Add("@cd_senha", parametros.Objeto.Senha);
            paramsProc.Add("@cd_assinaturaeletronica", parametros.Objeto.AssinaturaEletronica);

            paramsProc.Add("@st_ativo", parametros.Objeto.Status == UsuarioStatusEnum.Desabilitado ? 0 : 1);

            if (parametros.Objeto.Complementos.Colecao.Count > 0)
            {
                foreach (object loContextoOMS in parametros.Objeto.Complementos.Colecao)
                {
                    if (loContextoOMS is ContextoOMSInfo)
                    {
                        ContextoOMSInfo lcontextoOMS = (ContextoOMSInfo)loContextoOMS;
                        paramsProc.Add("@CodigoPerfilRisco", lcontextoOMS.CodigoPerfilRisco);
                        paramsProc.Add("@CodigoContaCorrente", lcontextoOMS.CodigoContaCorrente);
                        paramsProc.Add("@CodigoCustodia", lcontextoOMS.CodigoCustodia);
                    }
                }
            }
            try
            {
                ds = _dbLib.ExecutarProcedure(NomeProcSalvar, paramsProc, new List <string>());
            }
            catch (Exception ex)
            {
                Log.EfetuarLog(ex, parametros, "Persistencias.Seguranca");
                return(null);
            }

            // Execução a procedure

            // Monta o objeto
            UsuarioInfo usuario = this.ReceberObjeto(new ReceberObjetoRequest <UsuarioInfo>()
            {
                CodigoObjeto = this.MontarObjeto(ds.Tables[0].Rows[0]).CodigoUsuario
            }).Objeto;

            // Salva permissões
            salvarPermissoes(parametros.Objeto, usuario);

            // Salva grupos
            salvarGrupos(parametros.Objeto, usuario);

            // Salva perfis
            salvarPerfis(parametros.Objeto, usuario);

            // Retorna
            return
                (new SalvarObjetoResponse <UsuarioInfo>()
            {
                Objeto = usuario
            });
        }
Ejemplo n.º 3
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);
        }