예제 #1
0
        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;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #2
0
 public virtual void AlterarFuncao_Perfil(Funcao_Perfil Funcao_Perfil)
 {
     try
     {
         _Funcao_PerfilRepositorio.Atualizar(Funcao_Perfil);
         _Funcao_PerfilRepositorio.Commit();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #3
0
 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;
     }
 }
예제 #4
0
 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;
     }
 }
예제 #5
0
        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);
        }
예제 #6
0
        /// <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);
                        }
                    }
                }
            }
        }