Exemple #1
0
        private async void trvMenu_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            string strErrorMsg = string.Empty;

            try
            {
                if (this.trvMenu.SelectedItem == null)
                {
                    return;
                }
                this._menuDisplayModel = (MenuDisplayModel)((TreeViewItem)this.trvMenu.SelectedItem).Tag;
                if (_menuDisplayModel == null)
                {
                    return;
                }
                IAsyncProxy <IMenuModelService> _menuAyncProxy = await Task.Run(() => ServiceHelper.GetMenuService());

                MenuEditModel _sysmenu = await _menuAyncProxy.CallAsync(c => c.GetMenuByCode(this._menuDisplayModel.Code));

                this.labMenuCode.Content    = _sysmenu.MenuCode;
                this.labName.Content        = _sysmenu.Name;
                this.labDisplayName.Content = _sysmenu.DisplayName;
                this.labShowIndex.Content   = _sysmenu.ShowIndex;
                this.labMenuParent.Content  = _sysmenu.ParentCode;
                this.labMenuType.Content    = _sysmenu.Type;
                this.txtMenuRemark.Text     = _sysmenu.Remark;
                this.labModule.Content      = _sysmenu.ModuleCode;
                this.labFunction.Content    = _sysmenu.FunctionCode;
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
                //AisinoMessageBox.Show(ex.Message, UIResources.MsgInfo, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "选择菜单失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
            }
        }
Exemple #2
0
 private void menuCmb(MenuDisplayModel menuDisplayModel, List <MenuDisplayModel> menuList)
 {
     if (menuDisplayModel.SubMenus != null || menuDisplayModel.SubMenus.Count > 0)
     {
         foreach (var item in menuDisplayModel.SubMenus)
         {
             menuList.Add(item);
             menuCmb(item, menuList);
         }
     }
 }
Exemple #3
0
        private async void subSystemMenuBind()
        {
            IAsyncProxy <IMenuModelService> asyncProxy = await Task.Run(() => ServiceHelper.GetMenuService());

            MenuDisplayModel rootMenu = await asyncProxy.CallAsync(c => c.GetRootMenu());

            RadTreeViewItem menuHeader = new RadTreeViewItem();

            menuHeader.Header     = rootMenu.Name;
            menuHeader.IsExpanded = true;
            this.rightmenuTree.Items.Add(menuHeader);
            EachTree(rootMenu, menuHeader);
        }
Exemple #4
0
        private async void btnDeleMenu_Click(object sender, RoutedEventArgs e)
        {
            string strErrorMsg = string.Empty;

            try
            {
                if (this.trvMenu.SelectedItem == null || this._menuDisplayModel == null)
                {
                    await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgInfo, "没有选择菜单请选择!", MessageDialogStyle.Affirmative, null);

                    return;
                }
                MessageDialogResult result = await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgInfo, "确认删除所选菜单吗?", MessageDialogStyle.AffirmativeAndNegative, null);

                if (result == MessageDialogResult.Affirmative)
                {
                    _menuAyncProxy = await Task.Run(() => ServiceHelper.GetMenuService());

                    await _menuAyncProxy.CallAsync(c => c.DeleteByCode(this._menuDisplayModel.Code));

                    this._menuDisplayModel = null;
                    bindMenuList();
                }
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "删除菜单失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
            }
        }
Exemple #5
0
 private void buildMenuTree(MenuDisplayModel rootMenu, TreeViewItem menuHeader)
 {
     foreach (MenuDisplayModel menuItem in rootMenu.SubMenus)
     {
         TreeViewItem treeViewItem = new TreeViewItem();
         treeViewItem.IsExpanded = true;
         treeViewItem.Tag        = menuItem;
         treeViewItem.Header     = menuItem.Name;
         menuHeader.Items.Add(treeViewItem);
         if (menuItem.SubMenus != null && menuItem.SubMenus.Count > 0)
         {
             buildMenuTree(menuItem, treeViewItem);
         }
     }
 }
Exemple #6
0
        /// <summary>
        ///构造菜单树
        /// </summary>
        /// <param name="mytree"></param>
        /// <param name="menuDisplayModel"></param>
        private async void EachTree(MenuDisplayModel rootMenu, RadTreeViewItem menuHeader)
        {
            string strErrorMsg = string.Empty;

            try
            {
                foreach (MenuDisplayModel menuItem in rootMenu.SubMenus)
                {
                    RadTreeViewItem treeViewItem = new RadTreeViewItem();
                    treeViewItem.Tag        = menuItem;
                    treeViewItem.IsExpanded = true;
                    treeViewItem.Header     = menuItem.Name;
                    menuHeader.Items.Add(treeViewItem);
                    if (menuItem.SubMenus != null && menuItem.SubMenus.Count > 0)
                    {
                        treeViewItem.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#F8F8F8"));
                        EachTree(menuItem, treeViewItem);
                    }
                }
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
                //AisinoMessageBox.Show(ex.Message, UIResources.MsgInfo, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "构造菜单树失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);

                //AisinoMessageBox.Show(strErrorMsg);
            }
        }
Exemple #7
0
 /// <summary>
 /// 转换多个实体对象成显示对象列表
 /// </summary>
 /// <param name="sysMenus">多个系统菜单实体</param>
 private List<MenuDisplayModel> BuildModels(List<SysMenu> sysMenus,bool needSub=true)
 {
     List<MenuDisplayModel> menuDisplayModelList = new List<MenuDisplayModel>();
     if (sysMenus != null && sysMenus.Count > 0)
     {
         foreach (SysMenu sysMenu in sysMenus)
         {
             MenuDisplayModel menuDisplayModel = BuildModel(sysMenu);
             if (menuDisplayModel != null)
             {
                 menuDisplayModelList.Add(menuDisplayModel);
             }
         }
         return menuDisplayModelList;
     }
     return null;
 }
Exemple #8
0
        /// <summary>
        /// 加载菜单列表
        /// </summary>
        private async void addRightTree()
        {
            string strErrorMsg = string.Empty;

            try
            {
                IAsyncProxy <IMenuModelService> asyncProxy = await Task.Run(() => ServiceHelper.GetMenuService());

                MenuDisplayModel rootMenu = await asyncProxy.CallAsync(c => c.GetRootMenu());

                RadTreeViewItem menuHeader = new RadTreeViewItem();
                menuHeader.Header     = rootMenu.Name;
                menuHeader.IsExpanded = true;
                this.rightmenuTree.Items.Add(menuHeader);
                EachTree(rootMenu, menuHeader);
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
                //AisinoMessageBox.Show(ex.Message, UIResources.MsgInfo, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "加载菜单列表失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);

                //AisinoMessageBox.Show(strErrorMsg);
            }
        }
Exemple #9
0
        private async void bindMenuList()
        {
            string strErrorMsg = string.Empty;

            try
            {
                this.trvMenu.Items.Clear();
                this._menuAyncProxy = await Task.Run(() => ServiceHelper.GetMenuService());

                MenuDisplayModel rootMenu = await _menuAyncProxy.CallAsync(c => c.GetRootMenu());

                _menuHeader            = new TreeViewItem();
                _menuHeader.Header     = rootMenu.Name;
                _menuHeader.IsExpanded = true;
                _menuHeader.Tag        = rootMenu;
                this.trvMenu.Items.Add(_menuHeader);
                this.buildMenuTree(rootMenu, _menuHeader);
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
                //AisinoMessageBox.Show(ex.Message, UIResources.MsgInfo, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "绑定菜单失败,原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
            }
        }
Exemple #10
0
        /// <summary>
        /// 转换实体对象成显示对象
        /// </summary>
        /// <param name="sysMenu">菜单实体对象</param>
        private MenuDisplayModel BuildModel(SysMenu sysMenu, bool needSub = true)
        {
            if (sysMenu == null)
            {
                return null;
            }
            else
            {
                MenuDisplayModel menuDisplayMode = new MenuDisplayModel();
                menuDisplayMode.Code = sysMenu.MenuCode;
                menuDisplayMode.Name = sysMenu.Name;
                menuDisplayMode.Remark = sysMenu.Remark;
                if (needSub)
                {
                    menuDisplayMode.SubMenus = GetSubMenus(sysMenu.MenuCode);
                }

                return menuDisplayMode;
            }
        }
Exemple #11
0
 private List<MenuDisplayModel> GetSubMenus(string menuCode)
 {
     try
     {
         if (menuCode == null || menuCode.Trim().Length == 0)
         {
             return null;
         }
         Repository<SysMenu> sysMenuDal = _unitOfWork.GetRepository<SysMenu>();
         var sysMenuListTemp = sysMenuDal.Find(sm => sm.ParentCode == menuCode).Entities;
         List<MenuDisplayModel> menuDisplayModelList = new List<MenuDisplayModel>();
         if (sysMenuListTemp != null && sysMenuListTemp.Count() > 0)
         {
             foreach (SysMenu sysMenu in sysMenuListTemp.ToList())
             {
                 MenuDisplayModel menuDisplayModel = new MenuDisplayModel();
                 menuDisplayModel.Code = sysMenu.MenuCode;
                 menuDisplayModel.Name = sysMenu.Name;
                 menuDisplayModel.Remark = sysMenu.Remark;
                 menuDisplayModel.SubMenus = GetSubMenus(menuDisplayModel.Code);
                 menuDisplayModelList.Add(menuDisplayModel);
             }
         }
         return menuDisplayModelList;
     }
     catch (RepositoryException rex)
     {
         string msg = rex.Message;
         string reason = rex.StackTrace;
         throw new FaultException<LCFault>
         (new LCFault(msg), reason);
     }
     catch (Exception ex)
     {
         string msg = ex.Message;
         string reason = ex.StackTrace;
         throw new FaultException<LCFault>
         (new LCFault(msg), reason);
     }
 }
Exemple #12
0
        private async void menuConvert()
        {
            string strErrorMsg = string.Empty;

            try
            {
                _menuAyncProxy = await Task.Run(() => ServiceHelper.GetMenuService());

                _sysmenu = await _menuAyncProxy.CallAsync(c => c.GetMenuByCode(this._menuDisplayModel.Code));

                MenuDisplayModel rootMenuDisplay = await _menuAyncProxy.CallAsync(c => c.GetRootMenu());

                _moduleAyncProxy = await Task.Run(() => ServiceHelper.GetModuleService());

                IList <ModuleDisplayModel> moduleLists = await _moduleAyncProxy.CallAsync(c => c.GetAllModules());

                this.cmbModule.ItemsSource = moduleLists;

                List <MenuDisplayModel> menuList = new List <MenuDisplayModel>();
                menuList.Add(rootMenuDisplay);
                this.menuCmb(rootMenuDisplay, menuList);
                this.cmbParent.ItemsSource = menuList;
                if (Om == OperationMode.AddMode)
                {
                    this.cmbParent.Text = this._menuDisplayModel.Name;
                }
                if (Om == OperationMode.EditMode)
                {
                    if (this._sysmenu != null && this._sysmenu.ParentCode != null)
                    {
                        MenuEditModel rootMenuParent = await _menuAyncProxy.CallAsync(c => c.GetMenuByCode(this._sysmenu.ParentCode));

                        this.cmbParent.Text      = rootMenuParent.DisplayName;
                        this.cmbMenuType.Text    = this._sysmenu.Type.ToString();
                        this.txtMenuCode.Text    = this._sysmenu.MenuCode;
                        this.txtName.Text        = this._sysmenu.Name;
                        this.txtDisplayName.Text = this._sysmenu.DisplayName;
                        this.txtMenuRemark.Text  = this._sysmenu.Remark;
                        this.txtShowIndex.Value  = this._sysmenu.ShowIndex;
                        if (_sysmenu.ParentModule != null && _sysmenu.ParentFunction != null)
                        {
                            _moduleAyncProxy = await Task.Run(() => ServiceHelper.GetModuleService());

                            ModuleEditModel moduleEditModel = await _moduleAyncProxy.CallAsync(c => c.GetModuleByCode(_sysmenu.ParentModule.ModuleCode));

                            this.cmbModule.Text          = _sysmenu.ParentModule.Name;
                            this.cmbFunction.ItemsSource = moduleEditModel.SysFunctions;
                            this.cmbFunction.Text        = _sysmenu.ParentFunction.Name;
                        }
                        if (_sysmenu.Layer < 2)
                        {
                            this.cmbModule.IsEnabled   = false;
                            this.cmbFunction.IsEnabled = false;
                        }
                    }
                    else
                    {
                        this.cmbModule.IsEnabled   = false;
                        this.cmbFunction.IsEnabled = false;
                        this.cmbParent.IsEnabled   = false;
                        this.txtMenuCode.Text      = this._menuDisplayModel.Code;
                        this.txtName.Text          = this._menuDisplayModel.Name;
                    }
                }
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "异常原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);

                return;
            }
        }