private void confPermissaoMenu() { bool exibemenu = true; foreach (ToolStripMenuItem item in menuSistema.Items) { foreach (ToolStripMenuItem child in item.DropDownItems.OfType <ToolStripMenuItem>()) { if (child.DropDownItems.Count > 0) { interaMenuFilho(child); } else { if ((child.Tag != null) & (!string.IsNullOrEmpty((string)child.Tag))) { child.Visible = false; Funcao_Perfil fp = Program.usuario_logado.perfil.funcao_perfil.Where(p => p.codigo_funcao == Convert.ToInt32(child.Tag)).FirstOrDefault(); if (fp != null) { exibemenu = fp.consultar == "S" || fp.editar == "S" || fp.excluir == "S" || fp.salvar == "S" || fp.imprimir == "S"; child.Visible = exibemenu; //relacionar as tags que não serão exibidas na visão de Oticas if (exibemenu) { switch (Convert.ToInt32(child.Tag)) { case 1006: case 1010: case 1011: case 10043: case 10044: case 3001: { child.Visible = vwLaboratorio; } break; default: break; } //Agrupamento de pedidos somente com interação para ERP if (Convert.ToInt32(child.Tag) == 2001) { child.Visible = intERP; } } } } } } } }
public virtual void AlterarFuncao_Perfil(Funcao_Perfil Funcao_Perfil) { try { _Funcao_PerfilRepositorio.Atualizar(Funcao_Perfil); _Funcao_PerfilRepositorio.Commit(); } catch (Exception ex) { throw ex; } }
public virtual void ExcluirFuncao_Perfil(Funcao_Perfil Funcao_Perfil) { try { _Funcao_PerfilRepositorio.Deletar(c => c.Id_perfil == Funcao_Perfil.Id_perfil & c.codigo_funcao == Funcao_Perfil.codigo_funcao); _Funcao_PerfilRepositorio.Commit(); } catch (Exception ex) { throw ex; } }
public virtual void AdicionarFuncao_Perfil(Funcao_Perfil Funcao_Perfil) { try { Funcao_Perfil.inclusao = DateTime.Now; _Funcao_PerfilRepositorio.Adicionar(Funcao_Perfil); _Funcao_PerfilRepositorio.Commit(); } catch (Exception ex) { throw ex; } }
protected virtual bool ValidaAcessoFuncao(Operacao operacao, object tag = null) { bool Retorno = true; string mensagem = string.Empty; if (this.Tag != null) { if (this.Tag.ToString() == "") { this.Tag = null; } } if ((this.Tag != null) || (tag != null)) { int func = Convert.ToInt32(this.Tag); if (tag != null) { func = Convert.ToInt32(tag); } Usuario usuario = Program.usuario_logado; List <Funcao_Perfil> fpList = usuario.perfil.funcao_perfil.ToList(); Funcao_Perfil fp = fpList.Find(p => p.codigo_funcao == func); if (fp != null) { switch (operacao) { case Operacao.Cancelar: { if (fp.cancelar == "N") { mensagem = "Usuário não possui direito de canclamento do recurso selecionado \n por favor entre em contato com o administrador do sistema."; } } break; case Operacao.Consultar: { if (fp.consultar == "N") { mensagem = "Usuário não possui direito de consulta ao recurso selecionado \n por favor entre em contato com o administrador do sistema."; } } break; case Operacao.Editar: { if (fp.consultar == "N") { mensagem = "Usuário não possui direito de Edição para o recurso selecionado \n por favor entre em contato com o administrador do sistema."; } } break; case Operacao.Excluir: { if (fp.consultar == "N") { mensagem = "Usuário não possui direito de Exclusão para o recurso selecionado \n por favor entre em contato com o administrador do sistema."; } } break; case Operacao.Salvar: { if (fp.salvar == "N") { mensagem = "Usuário não possui direito de gravação para o recurso selecionado \n por favor entre em contato com o administrador do sistema."; } } break; case Operacao.Imprimir: { if (fp.imprimir == "N") { mensagem = "Usuário não possui direito de impressão para o recurso selecionado \n por favor entre em contato com o administrador do sistema."; } } break; } } if (!string.IsNullOrEmpty(mensagem)) { MessageBox.Show(mensagem, Text, MessageBoxButtons.OK, MessageBoxIcon.Error); Retorno = false; } } return(Retorno); }
/// <summary> /// Metodo que percorre o treeview e salva as opções marcadas e não marcadas. /// </summary> /// <param name="nd">Lista de nós da treeview</param> private void salvarnodefilho(TreeNodeCollection nd) { Funcao_Perfil funcao_perfil = null; if (nd != null) { if (nd.Count > 0) { foreach (TreeNode node in nd) { switch (Convert.ToInt32(node.Tag)) { case Constantes.OP_CANCELAR: { if (funcao_perfil == null) { funcao_perfil = new Funcao_Perfil(true); } funcao_perfil.codigo_funcao = Convert.ToInt32(node.Parent.Tag); funcao_perfil.cancelar = (node.Checked) ? "S" : "N"; } break; case Constantes.OP_CONSULTAR: { if (funcao_perfil == null) { funcao_perfil = new Funcao_Perfil(true); } funcao_perfil.codigo_funcao = Convert.ToInt32(node.Parent.Tag); funcao_perfil.consultar = (node.Checked) ? "S" : "N"; } break; case Constantes.OP_EDITAR: { if (funcao_perfil == null) { funcao_perfil = new Funcao_Perfil(true); } funcao_perfil.codigo_funcao = Convert.ToInt32(node.Parent.Tag); funcao_perfil.editar = (node.Checked) ? "S" : "N"; } break; case Constantes.OP_EXCLUIR: { if (funcao_perfil == null) { funcao_perfil = new Funcao_Perfil(true); } funcao_perfil.codigo_funcao = Convert.ToInt32(node.Parent.Tag); funcao_perfil.excluir = (node.Checked) ? "S" : "N"; } break; case Constantes.OP_SALVAR: { if (funcao_perfil == null) { funcao_perfil = new Funcao_Perfil(true); } funcao_perfil.codigo_funcao = Convert.ToInt32(node.Parent.Tag); funcao_perfil.salvar = (node.Checked) ? "S" : "N"; } break; case Constantes.OP_IMPRIMIR: { if (funcao_perfil == null) { funcao_perfil = new Funcao_Perfil(true); } funcao_perfil.codigo_funcao = Convert.ToInt32(node.Parent.Tag); funcao_perfil.imprimir = (node.Checked) ? "S" : "N"; } break; } if (Convert.ToInt32(node.Tag) == Constantes.OP_IMPRIMIR) { if (funcao_perfil != null) { funcao_perfilBLL = new Funcao_PerfilBLL(); funcao_perfil.Id_perfil = Convert.ToInt64(cbPerfil.SelectedValue); //Exclui os itens da base antes funcao_perfilBLL.ExcluirFuncao_Perfil(funcao_perfil); funcao_perfil.usuario_inclusao = Program.usuario_logado.nome; funcao_perfilBLL.AdicionarFuncao_Perfil(funcao_perfil); //MessageBox.Show(funcao_perfil.codigo_funcao.ToString() + "consultar :" + funcao_perfil.consultar + funcao_perfil.editar + funcao_perfil.salvar); funcao_perfil = null; } } if (funcao_perfil == null) { salvarnodefilho(node.Nodes); } } } } }