Beispiel #1
0
        private void AddChildMenuRight(MD_Menu _fmenu, string _fRightID, List <MD_RightDefine> _ret, MetaDataServiceClient _mdc)
        {
            IList <MD_Menu> _menuList = _mdc.GetSubMenuDefine(_fmenu.MenuID);

            foreach (MD_Menu _menu in _menuList)
            {
                MD_RightDefine _item    = new MD_RightDefine();
                decimal        _rightid = decimal.Parse(_menu.MenuID) * 1000;
                _item.RightID       = _rightid.ToString();
                _item.MenuID        = _menu.MenuID;
                _item.FatherRightID = _fRightID;
                _item.DisplayOrder  = _menu.DisplayOrder;
                _item.RightDescript = _menu.MenuToolTip;
                _item.RightName     = _menu.MenuName;
                _item.RightType     = "动态菜单";
                _item.RightMeta     = "";
                _ret.Add(_item);

                if (_menu.MenuType != null || _menu.MenuType != "")
                {
                    if (_menu.MenuType == "WEB.MENU")
                    {
                        AddWebMenuRight(_menu, _item, _ret);
                    }
                    else
                    {
                        AddPluginRight(_menu.MenuType, _item, _ret);
                    }
                }

                AddChildMenuRight(_menu, _item.RightID, _ret, _mdc);
            }
        }
Beispiel #2
0
 public MenuManager(MD_Menu _menu, IApplication _app)
 {
     InitializeComponent();
     _menuDefine = _menu;
     InitMenuType(_app);
     InitIcons();
     RefreshData();
     _initFinished = true;
 }
Beispiel #3
0
 public bool SaveMenuDefine(MD_Menu Menu)
 {
     try
     {
         OraMetaDataFactroy _of = new OraMetaDataFactroy();
         return(_of.SaveMenuDefine(Menu));
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message);
     }
 }
Beispiel #4
0
        private void AddWebMenuRight(MD_Menu _menu, MD_RightDefine _fitem, List <MD_RightDefine> _ret)
        {
            string _rparam = StrUtils.GetMetaByName2("权限定义", _menu.MenuParameter);

            if (_rparam == "")
            {
                return;
            }
            string[] _rightList = _rparam.Split(',');
            foreach (string _rightString in _rightList)
            {
                string[] _rItems = _rightString.Split(':');
                if (_rItems.Length > 2)
                {
                    MD_RightDefine _item    = new MD_RightDefine();
                    decimal        _rightid = decimal.Parse(_fitem.RightID) + decimal.Parse(_rItems[0]);
                    _item.RightID = _rightid.ToString();
                    _item.MenuID  = _fitem.MenuID;
                    decimal _frightid = 0;
                    try
                    {
                        _frightid = decimal.Parse(_rItems[2]);
                    }
                    catch (Exception ex)
                    {
                        _frightid     = 0;
                        this.ErrorMsg = ex.Message;
                    }

                    decimal _fid = decimal.Parse(_fitem.RightID) + _frightid;
                    _item.FatherRightID = _fid.ToString();
                    _item.DisplayOrder  = int.Parse(_rItems[0]);
                    _item.RightDescript = _rItems[1];
                    _item.RightName     = _rItems[1];
                    _item.RightType     = "动态菜单";
                    _item.RightMeta     = "";
                    _ret.Add(_item);
                }
            }
        }
 public bool SaveMenuDefine(MD_Menu _menu)
 {
     return(MetaDataFactroy.SaveMenuDefine(_menu));
 }
Beispiel #6
0
        private void LoadChildData(TreeListNode _fnode, object _value)
        {
            using (MetaDataServiceClient _mdc = new MetaDataServiceClient())
            {
                MD_Title     _mt;
                MD_Namespace _ns;
                if (_value is MD_Nodes)
                {
                    _fnode.Nodes.Clear();
                    MD_Nodes _node = _value as MD_Nodes;

                    IList <MD_Namespace> _namespaces = _mdc.GetNameSpaceAtNode(_node.DWDM);
                    if (_node.NameSpaces == null)
                    {
                        _node.NameSpaces = new List <MD_Namespace>();
                    }
                    foreach (MD_Namespace _space in _namespaces)
                    {
                        TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                        _newnode.SetValue(this.treeListColumn1, _space);
                        _newnode.ImageIndex       = 1;
                        _newnode.SelectImageIndex = 0;
                        _newnode.HasChildren      = true;
                        _node.NameSpaces.Add(_space);
                    }

                    _mt = new MD_Title("菜单定义", "MD_MENU", _node);
                    TreeListNode _newnode2 = treeList1.AppendNode(null, _fnode);
                    _newnode2.SetValue(this.treeListColumn1, _mt);
                    _newnode2.ImageIndex       = 1;
                    _newnode2.SelectImageIndex = 0;
                    _newnode2.HasChildren      = true;
                }

                if (_value is MD_Namespace)
                {
                    _fnode.Nodes.Clear();
                    _ns = _value as MD_Namespace;
                    _mt = new MD_Title("数据表", "MD_TABLE", _ns);
                    TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                    _newnode.SetValue(this.treeListColumn1, _mt);
                    _newnode.ImageIndex       = 1;
                    _newnode.SelectImageIndex = 0;
                    _newnode.HasChildren      = true;

                    _mt                       = new MD_Title("查询模型", "MD_QUERYMODEL", _ns);
                    _newnode                  = treeList1.AppendNode(null, _fnode);
                    _newnode.ImageIndex       = 1;
                    _newnode.SelectImageIndex = 0;
                    _newnode.SetValue(this.treeListColumn1, _mt);
                    _newnode.HasChildren = true;

                    _mt                       = new MD_Title("代码表", "MD_REFTABLE", _ns);
                    _newnode                  = treeList1.AppendNode(null, _fnode);
                    _newnode.ImageIndex       = 1;
                    _newnode.SelectImageIndex = 0;
                    _newnode.SetValue(this.treeListColumn1, _mt);
                    _newnode.HasChildren = true;
                }

                if (_value is MD_Title)
                {
                    _fnode.Nodes.Clear();
                    MD_Title _mdtitle = _value as MD_Title;

                    switch (_mdtitle.TitleType)
                    {
                    case "MD_TABLE":
                        _ns = (MD_Namespace)_mdtitle.FatherObj;
                        IList <MD_Table> _tables = _mdc.GetTablesAtNamespace(_ns.NameSpace);
                        if (_ns.TableList == null)
                        {
                            _ns.TableList = new List <MD_Table>();
                        }

                        foreach (MD_Table _tb in _tables)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _newnode.SetValue(this.treeListColumn1, _tb);
                            _newnode.HasChildren      = true;
                            _newnode.ImageIndex       = 2;
                            _newnode.SelectImageIndex = 0;
                            _ns.TableList.Add(_tb);
                            _tb.NamespaceName = _ns.NameSpace;
                        }
                        break;

                    case "MD_QUERYMODEL":
                        _ns = (MD_Namespace)_mdtitle.FatherObj;
                        IList <MD_QueryModel> _models = _mdc.GetQueryModelAtNamespace(_ns.NameSpace);
                        if (_ns.QueryModelList == null)
                        {
                            _ns.QueryModelList = new List <MD_QueryModel>();
                        }
                        foreach (MD_QueryModel _model in _models)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _newnode.SetValue(this.treeListColumn1, _model);
                            _newnode.ImageIndex       = 1;
                            _newnode.SelectImageIndex = 0;
                            _newnode.HasChildren      = true;
                            _ns.QueryModelList.Add(_model);
                            _model.Namespace = _ns;
                        }
                        break;

                    case "MD_REFTABLE":
                        _ns = (MD_Namespace)_mdtitle.FatherObj;
                        IList <MD_RefTable> _refTables = _mdc.GetRefTableAtNamespace(_ns.NameSpace);
                        if (_ns.RefTableList == null)
                        {
                            _ns.RefTableList = new List <MD_RefTable>();
                        }
                        foreach (MD_RefTable _rt in _refTables)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _newnode.SetValue(this.treeListColumn1, _rt);
                            _newnode.ImageIndex       = 2;
                            _newnode.SelectImageIndex = 0;
                            _newnode.HasChildren      = false;
                            _ns.RefTableList.Add(_rt);
                            _rt.Namespace = _ns;
                        }
                        break;

                    case "MD_MENU":
                        MD_Nodes        _node      = (MD_Nodes)_mdtitle.FatherObj;
                        IList <MD_Menu> _menuTable = _mdc.GetMenuDefineOfNode(_node.DWDM);
                        foreach (MD_Menu _menu in _menuTable)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _newnode.SetValue(this.treeListColumn1, _menu);

                            if (_menu.MenuType.Length > 3 && _menu.MenuType.Substring(0, 3) == "WEB")
                            {
                                _newnode.ImageIndex       = 4;
                                _newnode.SelectImageIndex = 0;
                            }
                            else if (_menu.MenuType.Length > 3 && _menu.MenuType.Substring(0, 3) == "SL_")
                            {
                                _newnode.ImageIndex       = 5;
                                _newnode.SelectImageIndex = 0;
                            }
                            else
                            {
                                _newnode.ImageIndex       = 2;
                                _newnode.SelectImageIndex = 0;
                            }
                            _newnode.HasChildren = true;
                            _menu.NodeID         = _node.ID;
                            _menu.MD_Nodes       = _node;
                        }
                        break;

                    case "MD_CONCEPTGROUP":
                        InitConceptGroup(_fnode);
                        break;

                    case "MD_VIEW_GUIDELINE":
                        InitView2GuideLine(_fnode, (MD_QueryModel)_mdtitle.FatherObj);
                        break;

                    case "MD_VIEW_APPLICATION":
                        InitView2Application(_fnode, (MD_QueryModel)_mdtitle.FatherObj);
                        break;

                    case "MD_VIEW_EXRIGHT":
                        InitViewExRight(_fnode, (MD_QueryModel)_mdtitle.FatherObj);
                        break;
                    }
                }

                if (_value is MD_QueryModel_ExRight)
                {
                    _fnode.Nodes.Clear();
                    MD_QueryModel_ExRight         _fright = _value as MD_QueryModel_ExRight;
                    IList <MD_QueryModel_ExRight> _erList = _mdc.GetQueryModelExRights(_fright.ModelID, _fright.ID);
                    foreach (MD_QueryModel_ExRight _right in _erList)
                    {
                        TreeListNode _node = treeList1.AppendNode(null, _fnode);
                        _node.ImageIndex       = 1;
                        _node.SelectImageIndex = 0;
                        _node.SetValue(this.treeListColumn1, _right);
                        _node.HasChildren = true;
                    }
                }

                if (_value is MD_QueryModel)
                {
                    _fnode.Nodes.Clear();
                    MD_QueryModel _qm        = _value as MD_QueryModel;
                    MD_ViewTable  _mainTable = _mdc.GetMainTableOfQueryModel(_qm.QueryModelID);
                    if (_mainTable != null)
                    {
                        TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                        _newnode.SetValue(this.treeListColumn1, _mainTable);
                        _newnode.ImageIndex       = 2;
                        _newnode.SelectImageIndex = 0;
                        _newnode.HasChildren      = true;
                        _mainTable.QueryModelID   = _qm.QueryModelID;
                        _qm.MainTable             = _mainTable;
                    }
                    List <MD_View2ViewGroup> _v2vGroup = _mdc.GetView2ViewGroupOfQueryModel(_qm.QueryModelID).ToList <MD_View2ViewGroup>();
                    if (_v2vGroup != null && _v2vGroup.Count > 0)
                    {
                        foreach (MD_View2ViewGroup _g in _v2vGroup)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _newnode.SetValue(this.treeListColumn1, _g);
                            _newnode.ImageIndex       = 3;
                            _newnode.SelectImageIndex = 0;
                            _newnode.HasChildren      = true;
                            _g.QueryModelID           = _qm.QueryModelID;
                        }
                    }
                    _mt = new MD_Title("关联数据指标", "MD_VIEW_GUIDELINE", _qm);
                    TreeListNode _newqxnode2 = treeList1.AppendNode(null, _fnode);
                    _newqxnode2.ImageIndex       = 8;
                    _newqxnode2.SelectImageIndex = 0;
                    _newqxnode2.SetValue(this.treeListColumn1, _mt);
                    _newqxnode2.HasChildren = true;

                    _mt = new MD_Title("集成应用展示", "MD_VIEW_APPLICATION", _qm);
                    TreeListNode _newAppnode = treeList1.AppendNode(null, _fnode);
                    _newAppnode.ImageIndex       = 8;
                    _newAppnode.SelectImageIndex = 0;
                    _newAppnode.SetValue(this.treeListColumn1, _mt);
                    _newAppnode.HasChildren = true;

                    _mt = new MD_Title("扩展权限定义", "MD_VIEW_EXRIGHT", _qm);
                    TreeListNode _newqxnode = treeList1.AppendNode(null, _fnode);
                    _newqxnode.ImageIndex       = 6;
                    _newqxnode.SelectImageIndex = 0;
                    _newqxnode.SetValue(this.treeListColumn1, _mt);
                    _newqxnode.HasChildren = true;
                }



                if (_value is MD_View2ViewGroup)
                {
                    _fnode.Nodes.Clear();
                    MD_View2ViewGroup   _v2vg = _value as MD_View2ViewGroup;
                    List <MD_View2View> _v2vs = _mdc.GetView2ViewList(_v2vg.ID, _v2vg.QueryModelID).ToList <MD_View2View>();
                    if (_v2vs != null)
                    {
                        foreach (MD_View2View _v in _v2vs)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _v.QueryModelID = _v2vg.QueryModelID;
                            _v.ViewGroupID  = _v2vg.ID;
                            _newnode.SetValue(this.treeListColumn1, _v);
                            _newnode.ImageIndex       = 2;
                            _newnode.SelectImageIndex = 0;
                            _newnode.HasChildren      = true;
                        }
                    }
                }



                if (_value is MD_Table)
                {
                    _fnode.Nodes.Clear();
                    MD_Table             _tb   = _value as MD_Table;
                    List <MD_Table2View> _t2vs = _mdc.GetTable2ViewList(_tb.TID).ToList <MD_Table2View>();
                    if (_t2vs != null)
                    {
                        foreach (MD_Table2View _t2v in _t2vs)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _newnode.SetValue(this.treeListColumn1, _t2v);
                            _newnode.ImageIndex       = 2;
                            _newnode.SelectImageIndex = 0;
                            _newnode.HasChildren      = true;
                        }
                    }
                }

                if (_value is MD_ViewTable)
                {
                    _fnode.Nodes.Clear();
                    MD_ViewTable _vt = _value as MD_ViewTable;
                    if (_vt.ViewTableType == MDType_ViewTable.MainTable)
                    {
                        MetaDataServiceClient _msc         = new MetaDataServiceClient();
                        IList <MD_ViewTable>  _childTables = _msc.GetChildTableOfQueryModel(_vt.QueryModelID);


                        foreach (MD_ViewTable _cvt in _childTables)
                        {
                            TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                            _newnode.SetValue(this.treeListColumn1, _cvt);
                            _newnode.ImageIndex       = 2;
                            _newnode.SelectImageIndex = 0;
                            _newnode.HasChildren      = true;
                            _cvt.QueryModelID         = _vt.QueryModelID;
                        }
                    }
                }

                if (_value is MD_Menu)
                {
                    MD_Menu         _fmenu     = _value as MD_Menu;
                    IList <MD_Menu> _menuTable = _mdc.GetSubMenuDefine(_fmenu.MenuID);
                    foreach (MD_Menu _menu in _menuTable)
                    {
                        TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                        _newnode.SetValue(this.treeListColumn1, _menu);
                        if (_menu.MenuType.Length > 3 && _menu.MenuType.Substring(0, 3) == "WEB")
                        {
                            _newnode.ImageIndex       = 4;
                            _newnode.SelectImageIndex = 0;
                        }
                        else if (_menu.MenuType.Length > 3 && _menu.MenuType.Substring(0, 3) == "SL_")
                        {
                            _newnode.ImageIndex       = 5;
                            _newnode.SelectImageIndex = 0;
                        }
                        else
                        {
                            _newnode.ImageIndex       = 2;
                            _newnode.SelectImageIndex = 0;
                        }
                        _newnode.HasChildren = true;
                        _menu.NodeID         = _fmenu.MD_Nodes.ID;
                        _menu.MD_Nodes       = _fmenu.MD_Nodes;
                    }
                }

                if (_value is MD_ConceptGroup)
                {
                    MD_ConceptGroup       _cGroup      = _value as MD_ConceptGroup;
                    List <MD_ConceptItem> _itemDefines = _mdc.GetSubConceptTagDefine(_cGroup.Name).ToList <MD_ConceptItem>();
                    _cGroup.Items = _itemDefines;
                    _fnode.Nodes.Clear();
                    foreach (MD_ConceptItem _item in _itemDefines)
                    {
                        TreeListNode _newnode = treeList1.AppendNode(null, _fnode);
                        _newnode.SetValue(this.treeListColumn1, _item);
                        _newnode.HasChildren = false;
                    }
                }
            }
        }