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