コード例 #1
0
        private TreeNode MontarMenuNode(Acesso.IRKO.Menu _menu)
        {
            TreeNode node = new TreeNode(_menu.Menu1)
            {
                Tag = _menu
            };

            if (_menu.MenusInferiores != null && _menu.MenusInferiores.Count() > 0)
            {
                TreeNode[] nodes = _menu.MenusInferiores
                                   .Where(__menu => __menu.Status == Acesso.IRKO.MenuStatus.Item1)
                                   .Where(__menu => __menu.Tipo == Acesso.IRKO.MenuTipo.Item0 || __menu.Menu1.Normalizar().Contains(txtFiltroMenu.Text.Normalizar()))
                                   .ToList().ConvertAll <TreeNode>(__menu => MontarMenuNode(__menu))
                                   .Where(__menu => __menu != null)
                                   .ToArray();
                if (nodes.Count() > 0)
                {
                    node.Nodes.AddRange(nodes);
                }
            }
            if (((Acesso.IRKO.Menu)node.Tag).Tipo == Acesso.IRKO.MenuTipo.Item0 && node.Nodes.Count == 0)
            {
                node = null;
            }
            else if (node.Nodes.Count == 0)
            {
                node.ImageIndex         = 1;
                node.SelectedImageIndex = 1;
            }
            return(node);
        }
コード例 #2
0
        private void trvMenu_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            Acesso.IRKO.Menu _menu = (Acesso.IRKO.Menu)e.Node.Tag;
            txtNome.Text      = _menu.Menu1;
            txtDescricao.Text = _menu.Descricao;
            switch (_menu.Tipo)
            {
            case Acesso.IRKO.MenuTipo.Item0:
                rdbMenu.Checked      = true;
                gpbPrograma.Visible  = false;
                gpbNamespace.Visible = false;
                gpbOpcCos.Visible    = false;
                break;

            case Acesso.IRKO.MenuTipo.Item1:
                rdbCache.Checked     = true;
                gpbPrograma.Visible  = true;
                gpbNamespace.Visible = true;
                gpbOpcCos.Visible    = true;
                break;

            case Acesso.IRKO.MenuTipo.Item2:
                rdbCliente.Checked   = true;
                gpbPrograma.Visible  = true;
                gpbNamespace.Visible = false;
                gpbOpcCos.Visible    = true;
                break;
            }
            txtPrograma.Text        = _menu.Programa;
            txtNamespace.Text       = _menu.Namespace;
            txtOpcaoCOS.Text        = _menu.OpcaoMenuCOS;
            ckbAtivo.Checked        = _menu.Status == Acesso.IRKO.MenuStatus.Item1;
            ckbMultiTelas.Checked   = _menu.PermiteMultiTela;
            ckbTrocaEmpresa.Checked = _menu.PermiteTrocaEmpresa;
        }
コード例 #3
0
        private void AbrirRotina(Acesso.IRKO.Menu _menu)
        {
            Controles.BaseForm _form = null;

            cbbFormulario.Items.Cast <Controles.BaseForm>().ToList()
            .ForEach(_formulario =>
            {
                if (_formulario.GetMenu().Menu1 == _menu.Menu1)
                {
                    _form = _formulario;
                    //_form.Show();
                }
                else
                {
                    _formulario.Hide();
                }
            });

            if (_form is null)
            {
                _form = (Controles.BaseForm)Activator.CreateInstance(Type.GetType(_menu.Programa), this);
                _form.SetMenu(_menu);
                _form.Width  = spcDesktop.Panel2.Width - lblHideShow.Width;
                _form.Height = spcDesktop.Panel2.Height - pnlSuperior.Height;
                _form.Left   = lblHideShow.Width;
                _form.Top    = pnlSuperior.Height;
                cbbFormulario.Items.Add(_form);
                spcDesktop.Panel2.Controls.Add(_form);

                CheckSelectedCbbFormulario();
            }

            try
            {
                _form.Show();
            }
            catch { }
        }
コード例 #4
0
        private TreeNode MontarMenuNode(Acesso.IRKO.Menu _menu)
        {
            TreeNode node = new TreeNode(_menu.Menu1);

            node.Tag = _menu;
            if (_menu.MenusInferiores != null && _menu.MenusInferiores.Count() > 0)
            {
                TreeNode[] nodes = _menu.MenusInferiores
                                   .ToList().ConvertAll <TreeNode>(__menu => MontarMenuNode(__menu))
                                   .Where(__menu => __menu != null)
                                   .ToArray();
                if (nodes.Count() > 0)
                {
                    node.Nodes.AddRange(nodes);
                }
            }

            if (node.Nodes.Count == 0)
            {
                node.ImageIndex         = 1;
                node.SelectedImageIndex = 1;
            }
            return(node);
        }
コード例 #5
0
 public void SetMenu(Acesso.IRKO.Menu _menu)
 {
     Menu = _menu;
 }
コード例 #6
0
        private void Menu_SalvarClick(object sender, EventArgs e)
        {
            try
            {
                Acesso.IRKO.Menu _menu         = (Acesso.IRKO.Menu)trvMenu.SelectedNode?.Tag;
                string           _menuSuperior = null;
                if (_menu != null)
                {
                    _menuSuperior = _menu.Menu1;
                }

                if (string.IsNullOrEmpty(txtNome.Text))
                {
                    MessageBox.Show("Campo Nome é obrigatório.");
                    return;
                }

                Acesso.IRKO.MenuTipo?_tipo = null;
                if (rdbMenu.Checked)
                {
                    _tipo = Acesso.IRKO.MenuTipo.Item0;
                }
                else if (rdbCache.Checked)
                {
                    _tipo = Acesso.IRKO.MenuTipo.Item1;
                }
                else if (rdbCliente.Checked)
                {
                    _tipo = Acesso.IRKO.MenuTipo.Item2;
                }

                if (_tipo == null)
                {
                    MessageBox.Show("Selecione o tipo de opção do menu.");
                    return;
                }
                if (_tipo != Acesso.IRKO.MenuTipo.Item0 && string.IsNullOrEmpty(txtPrograma.Text))
                {
                    MessageBox.Show("Campo Programa é obrigatório.");
                    return;
                }

                Acesso.IRKO.Menu _parametroMenu = new Acesso.IRKO.Menu();
                _parametroMenu.Menu1     = txtNome.Text;
                _parametroMenu.Descricao = txtDescricao.Text;
                _parametroMenu.Tipo      = _tipo ?? Acesso.IRKO.MenuTipo.Item0;
                if (ckbAtivo.Checked)
                {
                    _parametroMenu.Status = Acesso.IRKO.MenuStatus.Item1;
                }
                else
                {
                    _parametroMenu.Status = Acesso.IRKO.MenuStatus.Item0;
                }

                _parametroMenu.Namespace           = txtNamespace.Text;
                _parametroMenu.Programa            = txtPrograma.Text;
                _parametroMenu.PermiteTrocaEmpresa = ckbTrocaEmpresa.Checked;
                _parametroMenu.PermiteMultiTela    = ckbMultiTelas.Checked;

                Acesso.IRKO.Resultado _retorno = wrAcesso.GravarMenu(Guid, _parametroMenu, _menuSuperior);

                if (!_retorno.Sucesso)
                {
                    MessageBox.Show(_retorno.Mensagem);
                }
            }
            catch (Exception _ex)
            {
                MessageBox.Show(_ex.Message);
            }
        }