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