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