public BuscarPermissoesDoUsuarioResponse BuscarPermissoesDoUsuario(BuscarPermissoesDoUsuarioRequest pRequest) { BuscarPermissoesDoUsuarioResponse lReturn = new BuscarPermissoesDoUsuarioResponse(); ServicoHostColecao.Default.CarregarConfig("Desenvolvimento"); IServicoSeguranca lServico = Ativador.Get <IServicoSeguranca>(); ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest(); ReceberUsuarioResponse lResponse; try { lRequest.CodigoUsuario = pRequest.CodigoDoUsuario; lRequest.CodigoSessao = pRequest.CodigoDaSessao; Logger.InfoFormat("BuscarPermissoesDoUsuario(CodigoSessao [{0}], IdLogin [{1}])", lRequest.CodigoSessao, lRequest.CodigoUsuario); lResponse = lServico.ReceberUsuario(lRequest); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { if (lResponse.Usuario != null) { Logger.InfoFormat("Retorno OK do serviço: [{0}] permissões para [{1}])", lResponse.Usuario.Permissoes.Count, lRequest.CodigoUsuario); lReturn.StatusResposta = "OK"; lReturn.Permissoes = lResponse.Usuario.Permissoes; } else { throw new Exception("Serviço não identificou o usuário nessa sessão"); } } else { Logger.ErrorFormat("Retorno com erro do ServicoSeguranca em BuscarPermissoesDoUsuario(CodigoSessao [{0}], IdLogin [{1}]) [{2}] \r\n{3}" , lRequest.CodigoSessao , lRequest.CodigoUsuario , lResponse.StatusResposta , lResponse.DescricaoResposta); lReturn.StatusResposta = "Erro Serviço"; lReturn.DescricaoResposta = lResponse.DescricaoResposta; } } catch (Exception ex) { string lMensagem = string.Format("Exception em BuscarPermissoesDoUsuario: [{0}] \r\n{1}", ex.Message, ex.StackTrace); Logger.ErrorFormat(lMensagem); lReturn.StatusResposta = "Exception"; lReturn.DescricaoResposta = lMensagem; } return(lReturn); }
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); }
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)); } }
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)); } }
public string ResponderCarregarHtmlComDados() { ReceberUsuarioRequest lRequest; ReceberUsuarioResponse lResponse; lRequest = new ReceberUsuarioRequest() { CodigoUsuario = Request["Id"], CodigoSessao = this.CodigoSessao }; lResponse = this.ServicoSeguranca.ReceberUsuario(lRequest); if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { ListarUsuarioGruposRequest lRequestGrupos = new ListarUsuarioGruposRequest() { CodigoSessao = this.CodigoSessao }; ListarUsuarioGruposResponse lResponseGrupos = this.ServicoSeguranca.ListarUsuarioGrupos(lRequestGrupos); List <TransporteSegurancaItemFilho> lLista = new List <TransporteSegurancaItemFilho>(); foreach (string lGrupo in lResponse.Usuario.Grupos) { TransporteSegurancaItemFilho lTransporte = new TransporteSegurancaItemFilho() { Id = lResponse.Usuario.CodigoUsuario + "|" + lGrupo, Item = lGrupo, ItemDesc = lResponseGrupos.UsuarioGrupos.Find(delegate(UsuarioGrupoInfo p) { return(p.CodigoUsuarioGrupo == lGrupo); }).NomeUsuarioGrupo, ParentId = lResponse.Usuario.CodigoUsuario, TipoDeItem = "Grupos" }; lLista.Add(lTransporte); } hidSeguranca_Grupos_ListaJson.Value = JsonConvert.SerializeObject(lLista); } else { RetornarErroAjax("Erro ao consultar os Grupos do usuario", lResponse.DescricaoResposta); } return(string.Empty); //só para obedecer assinatura }
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); }
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); }
public string ResponderSalvar() { string lRetorno = string.Empty; string lObjetoJson = Request.Params["ObjetoJson"]; string TipoDeObjeto = Request["TipoDeObjetoPai"]; MensagemRequestBase lRequest; MensagemResponseBase lResponse; bool lTinhaGTI = false; bool lTinhaStock = false; try { TransporteSegurancaPermissao lDados = JsonConvert.DeserializeObject <TransporteSegurancaPermissao>(lObjetoJson); switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuario = lDados.ParentId }; lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuarioGrupo = lDados.ParentId }; lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; case "Perfil": lRequest = new ReceberPerfilRequest() { CodigoSessao = this.CodigoSessao, CodigoPerfil = lDados.ParentId }; lResponse = this.ServicoSeguranca.ReceberPerfil((ReceberPerfilRequest)lRequest); break; default: return(RetornarErroAjax("Só é possível salvar permissões para grupos, usuários e perfis.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { MensagemRequestBase lRequestBase; MensagemResponseBase lResponseBase = new MensagemResponseBase(); if (lResponse is ReceberUsuarioResponse) { PermissaoAssociadaInfo lPermissao; UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; //precisa verificar todas que tinha antes pra não re-enviar o email quando uma outra permissão que não a do GTI ou Stock forem adicionadas foreach (Gradual.OMS.Seguranca.Lib.PermissaoAssociadaInfo lPerm in lUsuario.Permissoes) { if (lPerm.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_GTI.ToUpper()) { lTinhaGTI = true; } if (lPerm.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_Stock.ToUpper()) { lTinhaStock = true; } } lUsuario.Permissoes.Clear(); var lCount = default(int); do { lPermissao = new PermissaoAssociadaInfo() { CodigoPermissao = lDados.Permissoes.Count > 0 ? lDados.Permissoes[lCount] : string.Empty, Status = PermissaoAssociadaStatusEnum.Permitido }; lUsuario.Permissoes.Add(lPermissao); lRequestBase = new SalvarUsuarioRequest() { CodigoSessao = this.CodigoSessao, Usuario = lUsuario }; lResponseBase = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lRequestBase); if (lResponseBase.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(new LogIntranetInfo() { CdBovespaClienteAfetado = lUsuario.CodigoUsuario.DBToInt32(), DsObservacao = string.Format("Cód. Usuário logado: {0}; Nome do cliente: {1}; e-Mail:", base.UsuarioLogado.Id, lUsuario.Nome, lUsuario.Email), }); if (TipoDeObjeto == "Usuario") { if (!lTinhaGTI && lPermissao.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_GTI.ToUpper()) { EnviarEmailDePermissaoGTI(lUsuario.CodigoUsuario.DBToInt32(), "Gradual Trader Interface (GTI)"); } if (!lTinhaStock && lPermissao.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_Stock.ToUpper()) { EnviarEmailDePermissaoGTI(lUsuario.CodigoUsuario.DBToInt32(), "Stock Market"); } } } lCount++; } while (lDados.Permissoes.Count > lCount); } else if (lResponse is ReceberUsuarioGrupoResponse) { PermissaoAssociadaInfo lPermissao; UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; foreach (string itemPermissao in lDados.Permissoes) { lPermissao = new PermissaoAssociadaInfo() { CodigoPermissao = itemPermissao, Status = PermissaoAssociadaStatusEnum.Permitido }; lUsuarioGrupo.Permissoes.Add(lPermissao); lRequestBase = new SalvarUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, UsuarioGrupo = lUsuarioGrupo }; lResponseBase = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lRequestBase); } } else { PermissaoAssociadaInfo lPermissao; PerfilInfo lPerfil = ((ReceberPerfilResponse)lResponse).Perfil; lPerfil.Permissoes.Clear(); foreach (string itemPermissao in lDados.Permissoes) { lPermissao = new PermissaoAssociadaInfo() { CodigoPermissao = itemPermissao, Status = PermissaoAssociadaStatusEnum.Permitido }; lPerfil.Permissoes.Add(lPermissao); lRequestBase = new SalvarPerfilRequest() { CodigoSessao = this.CodigoSessao, Perfil = lPerfil }; lResponseBase = ServicoSeguranca.SalvarPerfil((SalvarPerfilRequest)lRequestBase); } } if (lResponseBase.StatusResposta == MensagemResponseStatusEnum.OK) { return(RetornarSucessoAjax("Permissão associada com sucesso.")); } else { return(RetornarErroAjax(lResponseBase.DescricaoResposta)); } } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } } catch (Exception ex) { return(RetornarErroAjax(ex.Message)); } }
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); }
/// <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); }
public string Salvar() { string lObjetoJson = Request.Params["ObjetoJson"]; try { TransporteSegurancaDadosAssociados lDados = JsonConvert.DeserializeObject <TransporteSegurancaDadosAssociados>(lObjetoJson); MensagemRequestBase lRequestItem; MensagemRequestBase lRequestSalvarItem; MensagemResponseBase lResponseItem, lResponseSalvar; UsuarioGrupoInfo lUsuarioGrupo = null; UsuarioInfo lUsuario = null; if (lDados.EhGrupo) { lRequestItem = new ReceberUsuarioGrupoRequest(); lRequestSalvarItem = new SalvarUsuarioGrupoRequest(); lRequestSalvarItem.CodigoSessao = this.CodigoSessao; lRequestItem.CodigoSessao = this.CodigoSessao; ((ReceberUsuarioGrupoRequest)lRequestItem).CodigoUsuarioGrupo = lDados.Grupo; lResponseItem = ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequestItem); } else if (lDados.EhUsuario) { lRequestItem = new ReceberUsuarioRequest(); lRequestSalvarItem = new SalvarUsuarioRequest(); lRequestSalvarItem.CodigoSessao = this.CodigoSessao; lRequestItem.CodigoSessao = this.CodigoSessao; ((ReceberUsuarioRequest)lRequestItem).CodigoUsuario = lDados.Usuario; lResponseItem = ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequestItem); } else { return(RetornarErroAjax("Selecione um grupo ou usuário para associar as permissões")); } if (lResponseItem.StatusResposta != MensagemResponseStatusEnum.OK) { return(RetornarErroAjax(lResponseItem.DescricaoResposta)); } if (lResponseItem is ReceberUsuarioGrupoResponse) { lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponseItem).UsuarioGrupo; } else { lUsuario = ((ReceberUsuarioResponse)lResponseItem).Usuario; } string nomePermissao = string.Empty; nomePermissao = lDados.Interface.Trim() + "Consultar"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Consultar); nomePermissao = lDados.Interface.Trim() + "Salvar"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Salvar); nomePermissao = lDados.Interface.Trim() + "Excluir"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Excluir); nomePermissao = lDados.Interface.Trim() + "Executar"; this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Executar); if (lDados.EhGrupo) { ((SalvarUsuarioGrupoRequest)lRequestSalvarItem).UsuarioGrupo = lUsuarioGrupo; lResponseSalvar = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lRequestSalvarItem); } else { ((SalvarUsuarioRequest)lRequestSalvarItem).Usuario = lUsuario; lResponseSalvar = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lRequestSalvarItem); } if (lResponseSalvar.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(); return(RetornarSucessoAjax("Itens Associados com sucesso")); } else { return(RetornarErroAjax(lResponseSalvar.DescricaoResposta)); } } catch (Exception ex) { logger.Error(ex.Message, ex); return(RetornarErroAjax(ex.Message, ex)); } }
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)); } }
public string ResponderCarregarHtmlComDados() { string lCodigoItem = Request["Id"]; string TipoDeObjeto = Request["TipoDeObjeto"]; List <TransporteSegurancaItemFilho> lItensRetorno = new List <TransporteSegurancaItemFilho>(); MensagemRequestBase lRequest; MensagemResponseBase lResponse; switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuario = lCodigoItem }; lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, CodigoUsuarioGrupo = lCodigoItem }; lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; default: return(RetornarErroAjax("Só é permitido listar os perfis se o tipo de objeto for Usuário ou Grupo.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { ListarPerfisRequest lPerfisRequest = new ListarPerfisRequest() { CodigoSessao = this.CodigoSessao }; ListarPerfisResponse lPerfisResponse = this.ServicoSeguranca.ListarPerfis(lPerfisRequest); if (lRequest is ReceberUsuarioRequest) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lItensRetorno = RetornarItens(lUsuario.Perfis, lPerfisResponse.Perfis, lCodigoItem, TipoDeObjeto); } else { UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lItensRetorno = RetornarItens(lUsuarioGrupo.Perfis, lPerfisResponse.Perfis, lCodigoItem, TipoDeObjeto); } hidSeguranca_Perfis_ListaJson.Value = JsonConvert.SerializeObject(lItensRetorno); } else { return(RetornarErroAjax("Erro: " + lResponse.DescricaoResposta)); } return(string.Empty); }
public string ResponderExcluir() { string lIdItemPermissao = Request["Id"]; string lItemPaiID = lIdItemPermissao.Split('|')[0]; string lPerfilID = lIdItemPermissao.Split('|')[1]; string lTipoDeObjeto = lIdItemPermissao.Split('|')[2]; MensagemRequestBase lRequest; MensagemResponseBase lResponse; switch (lTipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest() { CodigoUsuario = lItemPaiID, CodigoSessao = this.CodigoSessao }; lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest() { CodigoUsuarioGrupo = lItemPaiID, CodigoSessao = this.CodigoSessao }; lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; default: return(RetornarErroAjax("Só é permitido listar os perfis se o tipo de objeto for Usuário ou Grupo.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { MensagemRequestBase lSalvarRequest; MensagemResponseBase lSalvarResponse; if (lResponse is ReceberUsuarioResponse) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lUsuario.Perfis.Remove(lPerfilID); lSalvarRequest = new SalvarUsuarioRequest() { CodigoSessao = this.CodigoSessao, Usuario = lUsuario }; lSalvarResponse = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lSalvarRequest); } else { UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lUsuarioGrupo.Perfis.Remove(lPerfilID); lSalvarRequest = new SalvarUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, UsuarioGrupo = lUsuarioGrupo }; lSalvarResponse = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lSalvarRequest); } if (lSalvarResponse.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogExclusao(); return(RetornarSucessoAjax("Perfil excluido com sucesso.")); } else { return(RetornarErroAjax("Erro ao excluir o perfil")); } } else { return(RetornarErroAjax("Erro ao excluir o perfil")); } }
public string ResponderSalvar() { string lRetorno = string.Empty; string lObjetoJson = Request.Params["ObjetoJson"]; string TipoDeObjeto = Request["TipoDeObjetoPai"]; TransporteSegurancaItemFilho lDados; MensagemRequestBase lRequest; MensagemResponseBase lResponse; try { lDados = JsonConvert.DeserializeObject <TransporteSegurancaItemFilho>(lObjetoJson); switch (TipoDeObjeto) { case "Usuario": lRequest = new ReceberUsuarioRequest(); ((ReceberUsuarioRequest)lRequest).CodigoUsuario = lDados.ParentId; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest); break; case "Grupo": lRequest = new ReceberUsuarioGrupoRequest(); ((ReceberUsuarioGrupoRequest)lRequest).CodigoUsuarioGrupo = lDados.ParentId; lRequest.CodigoSessao = this.CodigoSessao; lResponse = ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest); break; default: return(RetornarErroAjax("Não é possível associar um tipo de item que não seja Usuários ou Grupos.")); } if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK) { MensagemResponseBase lSalvarResponse; MensagemRequestBase lSalvarRequest = null; if (lResponse is ReceberUsuarioResponse) { UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario; lUsuario.Perfis.Add(lDados.Item); lSalvarRequest = new SalvarUsuarioRequest() { CodigoSessao = this.CodigoSessao, Usuario = lUsuario }; lSalvarResponse = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lSalvarRequest); } else { UsuarioGrupoInfo lGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo; lGrupo.Perfis.Add(lDados.Item); lSalvarRequest = new SalvarUsuarioGrupoRequest() { CodigoSessao = this.CodigoSessao, UsuarioGrupo = lGrupo }; lSalvarResponse = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lSalvarRequest); } if (lSalvarResponse.StatusResposta == MensagemResponseStatusEnum.OK) { base.RegistrarLogInclusao(); return(RetornarSucessoAjax(new TransporteRetornoDeCadastro(lDados.ParentId + "|" + lDados.Item + "|" + TipoDeObjeto), "Dados associados com sucesso")); } else { return(RetornarErroAjax(lSalvarResponse.DescricaoResposta)); } } else { return(RetornarErroAjax(lResponse.DescricaoResposta)); } } catch (Exception ex) { return(RetornarErroAjax(ex.Message)); } }