Exemple #1
0
        private void SearchButton_Click(object sender, RoutedEventArgs e)
        {
            string filter    = " 1=1 ";
            int    pageCount = 0;
            ObservableCollection <object> paras = new System.Collections.ObjectModel.ObservableCollection <object>();   //参数值
            ComboBox cbxSystemType = Utility.FindChildControl <ComboBox>(expander, "cbxSystemType");
            //T_SYS_DICTIONARY dict = cbxSystemType.SelectedItem as T_SYS_DICTIONARY;
            //string systype = dict == null ? "" : dict.DICTIONARYVALUE.GetValueOrDefault().ToString();

            string parentid = "";

            LookUp           lkParentMenu = Utility.FindChildControl <LookUp>(expander, "lkParentMenu");
            T_SYS_ENTITYMENU menu         = lkParentMenu.DataContext as T_SYS_ENTITYMENU;

            if (!string.IsNullOrEmpty(StrSystemType))
            {
                filter += " && SYSTEMTYPE ==@" + paras.Count().ToString();
                paras.Add(StrSystemType);
            }
            if (menu != null)
            {
                parentid = menu.ENTITYMENUID;
                if (!string.IsNullOrEmpty(parentid))
                {
                    filter += " && T_SYS_ENTITYMENU2!=null && T_SYS_ENTITYMENU2.ENTITYMENUID ==@" + paras.Count().ToString();
                    paras.Add(parentid);
                }
            }
            SMT.Saas.Tools.PermissionWS.LoginUserInfo loginUserInfo = new SMT.Saas.Tools.PermissionWS.LoginUserInfo();
            loginUserInfo.companyID = Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
            loginUserInfo.userID    = Common.CurrentLoginUserInfo.EmployeeID;
            //loadbar.Start();
            RefreshUI(RefreshedTypes.ShowProgressBar);
            client.GetSysMenuByTypePagingAsync(0, 500, "ORDERNUMBER", filter, paras, pageCount, loginUserInfo);
        }
Exemple #2
0
        private void InitParas(string menuID)
        {
            ServiceClient = new PermissionServiceClient();
            //ServiceClient.SysMenuAddCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(ServiceClient_SysMenuAddCompleted);
            ServiceClient.SysMenuAddCompleted    += new EventHandler <SysMenuAddCompletedEventArgs>(ServiceClient_SysMenuAddCompleted);
            ServiceClient.SysMenuUpdateCompleted += new EventHandler <System.ComponentModel.AsyncCompletedEventArgs>(ServiceClient_SysMenuUpdateCompleted);

            //ServiceClient.GetSysMenuByTypeCompleted += new EventHandler<GetSysMenuByTypeCompletedEventArgs>(ServiceClient_GetSysMenuByTypeCompleted);
            ServiceClient.GetSysMenuByIDCompleted             += new EventHandler <GetSysMenuByIDCompletedEventArgs>(ServiceClient_GetSysMenuByIDCompleted);
            ServiceClient.GetSysDictionaryByCategoryCompleted += new EventHandler <GetSysDictionaryByCategoryCompletedEventArgs>(ServiceClient_GetSysDictionaryByCategoryCompleted);

            if (FormType == FormTypes.New)
            {
                SysMenu = new T_SYS_ENTITYMENU();
                SysMenu.ENTITYMENUID = Guid.NewGuid().ToString();
                //绑定系统类型
                ServiceClient.GetSysDictionaryByCategoryAsync("SYSTEMTYPE");

                //BindParentMenu();
            }
            if (!string.IsNullOrEmpty(menuID))
            {
                ServiceClient.GetSysMenuByIDAsync(menuID);
            }
        }
        /// <summary>
        /// 根据功能项的CheckBox勾选,确定添加/删除已登记的功能项
        /// </summary>
        /// <param name="item"></param>
        /// <param name="selfCheckbox"></param>
        /// <param name="currentItem"></param>
        private void FindTreeViewItemByChkBox(TreeViewItem item, CheckBox selfCheckbox, ref TreeViewItem currentItem)
        {
            CustomerPermission CustomerP = new CustomerPermission();
            T_SYS_ENTITYMENU   Menu      = new T_SYS_ENTITYMENU();

            foreach (TreeViewItem childItem in item.Items)
            {
                TreeViewItem myItem =
                    (TreeViewItem)(item.ItemContainerGenerator.ContainerFromItem(childItem));
                CheckBox cbx = SMT.SaaS.FrameworkUI.Helper.UIHelper.FindChildControl <CheckBox>(myItem);
                if (cbx == selfCheckbox)
                {
                    currentItem = myItem;
                    if (cbx.IsChecked == true)
                    {
                        Menu = myItem.DataContext as T_SYS_ENTITYMENU;
                        if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                        {
                            AddListCustomerPermission(CustomerP, Menu);
                        }
                    }
                    else
                    {
                        Menu = myItem.DataContext as T_SYS_ENTITYMENU;
                        if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                        {
                            RemoveListCustomerPermission(Menu);//清除已存在的功能项
                        }
                    }
                    return;
                }
                FindTreeViewItemByChkBox(childItem, selfCheckbox, ref currentItem);
            }
        }
Exemple #4
0
        private void myChkBox_Checked(object sender, RoutedEventArgs e)
        {
            CheckBox chkbox = sender as CheckBox;

            if (chkbox.IsChecked.Value)
            {
                EntityObj = chkbox.DataContext as T_SYS_ENTITYMENU;
                if (EntityObj != null)
                {
                    if (SelectedMultiMenu.Count > 0)
                    {
                        var entity = from q in SelectedMultiMenu
                                     where q.ENTITYMENUID == EntityObj.ENTITYMENUID
                                     select q;
                        if (entity.Count() == 0)
                        {
                            SelectedMultiMenu.Add(EntityObj);
                        }
                    }
                    else
                    {
                        SelectedMultiMenu.Add(EntityObj);
                    }
                }
            }
        }
Exemple #5
0
        private void btInsertEntityProperty_Click(object sender, RoutedEventArgs e)
        {
            if (operationType)
            {
                return;
            }
            if (listEntityName.SelectedItem == null)
            {
                return;
            }
            T_SYS_ENTITYMENU enttitymenu = listEntityName.SelectedItem as T_SYS_ENTITYMENU;

            if (string.IsNullOrEmpty(enttitymenu.ENTITYCODE) || string.IsNullOrEmpty(enttitymenu.ENTITYNAME))
            {
                return;
            }

            if (listEntityProperty.SelectedItem == null)
            {
                return;
            }

            EntityProPerty entProperty = listEntityProperty.SelectedItem as EntityProPerty;

            if (string.IsNullOrEmpty(entProperty.ProPertyCode))
            {
                return;
            }

            txtContent.Text     += " " + enttitymenu.ENTITYNAME + "." + entProperty.ProPertyName + " ";
            txtContentCode.Text += enttitymenu.ENTITYCODE + "." + entProperty.ProPertyCode + " ";

            txtContent1.Text += enttitymenu.ENTITYCODE + "." + entProperty.ProPertyCode + " ";
        }
Exemple #6
0
        void DataGrid_CurrentCellChanged(object sender, EventArgs e)
        {
            DataGrid grid = sender as DataGrid;

            if (grid.SelectedItem != null)
            {
                Menu = (T_SYS_ENTITYMENU)grid.SelectedItems[0];//获取当前选中的行数据并转换为对应的实体
            }
        }
Exemple #7
0
 public void AddToClose()
 {
     if (CheckRole())
     {
         if (rbtIsAutono.IsChecked == true)
         {
             if (string.IsNullOrEmpty(perm.PERMISSIONCODE))
             {
                 Utility.ShowCustomMessage(MessageTypes.Message, Utility.GetResourceStr("WARING"), "权限编码不能为空");
                 return;
             }
             else
             {
                 perm.ISCOMMOM = "0";
             }
             LookUp           lkParentMenu = Utility.FindChildControl <LookUp>(expander, "lkParentMenu");
             T_SYS_ENTITYMENU menu         = lkParentMenu.DataContext as T_SYS_ENTITYMENU;
             if (menu != null)
             {
                 perm.T_SYS_ENTITYMENU = menu;
                 //perm.T_SYS_ENTITYMENUReference.EntityKey = menu.EntityKey;
                 perm.T_SYS_ENTITYMENU.ENTITYMENUID = menu.ENTITYMENUID;
             }
         }
         else
         {
             perm.ISCOMMOM       = "1";
             perm.PERMISSIONCODE = "";//是公共权限不设置编码
         }
         if (!string.IsNullOrEmpty(perm.PERMISSIONVALUE))
         {
             if (perm.PERMISSIONVALUE.IndexOf("-") > -1)
             {
                 Utility.ShowCustomMessage(MessageTypes.Message, Utility.GetResourceStr("WARING"), "权限值不能为负数");
                 return;
             }
             try
             {
                 int IntValue = System.Int32.Parse(perm.PERMISSIONVALUE);
             }
             catch (Exception ex)
             {
                 Utility.ShowCustomMessage(MessageTypes.Message, Utility.GetResourceStr("WARING"), "权限值必须为整数");
                 return;
             }
         }
         if (FormTypes.New == this.FormType)
         {
             client.SysPermissionAddAsync(perm);
         }
         else
         {
             client.SysPermissionUpdateAsync(perm);
         }
     }
 }
        /// <summary>
        /// 移除已经存在的功能项
        /// </summary>
        /// <param name="Menu"></param>
        private void RemoveListCustomerPermission(T_SYS_ENTITYMENU Menu)
        {
            var menulist = from ent in ListCustomerpermission
                           where ent.EntityMenuId == Menu.ENTITYMENUID
                           select ent;

            if (menulist.Count() > 0)
            {
                ListCustomerpermission.Remove(menulist.ToList().FirstOrDefault()); //去掉已经存
            }
        }
Exemple #9
0
        private void DaGr_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            T_SYS_ENTITYMENU drMenu  = (T_SYS_ENTITYMENU)e.Row.DataContext;
            Button           myhrBtn = DaGr.Columns[1].GetCellContent(e.Row).FindName("HRBtn2") as Button;
            CheckBox         mychk   = DaGr.Columns[0].GetCellContent(e.Row).FindName("ChkBox") as CheckBox;

            if (mychk != null && myhrBtn != null)
            {
                mychk.Tag   = drMenu;
                myhrBtn.Tag = e;
            }
        }
Exemple #10
0
 public SelectMultiMenu(string SysType,List<T_SYS_ENTITYMENU> ListEntity)
 {
     InitializeComponent();
     EntityObj = new T_SYS_ENTITYMENU();
     StrSystemType = SysType;
     SelectedMultiMenu = new List<T_SYS_ENTITYMENU>();
     if(ListEntity != null)
         SelectedMultiMenu = ListEntity;
     InitEvent();
     this.Loaded += new RoutedEventHandler(SelectMultiMenu_Loaded);
     
 }
Exemple #11
0
        /// <summary>
        /// 由自定义权限调用
        /// </summary>
        /// <param name="CustomerCheck"></param>
        public SelectMultiMenu(List<T_SYS_ENTITYMENU> ListEntity)
        {
            InitializeComponent();
            EntityObj = new T_SYS_ENTITYMENU();
            if (ListEntity != null)
                SelectedMultiMenu = ListEntity;
            SelectedMultiMenu = new List<T_SYS_ENTITYMENU>();
            
            InitEvent();
            this.Loaded += new RoutedEventHandler(SelectMultiMenuCustomer_Loaded);

        }
        private void SetUnCheckedPermission(CheckBox chBox)
        {
            if (DaGr.SelectedItems.Count == 0)
            {
                return;
            }
            T_SYS_ENTITYMENU entPerm = chBox.Tag as T_SYS_ENTITYMENU;

            //PermissionValue PerObj = new PermissionValue();
            //PerObj.Permission = entPerm.PERMISSIONID;
            //T_SYS_ENTITYMENU entTemp = DaGrMenu.SelectedItems[0] as T_SYS_ENTITYMENU;
            //RemoveCustomPermissionByPerm(entTemp, PerObj);
        }
Exemple #13
0
 public SelectMultiMenu(string SysType, List <T_SYS_ENTITYMENU> ListEntity)
 {
     InitializeComponent();
     EntityObj         = new T_SYS_ENTITYMENU();
     StrSystemType     = SysType;
     SelectedMultiMenu = new List <T_SYS_ENTITYMENU>();
     if (ListEntity != null)
     {
         SelectedMultiMenu = ListEntity;
     }
     InitEvent();
     this.Loaded += new RoutedEventHandler(SelectMultiMenu_Loaded);
 }
Exemple #14
0
        /// <summary>
        /// 由自定义权限调用
        /// </summary>
        /// <param name="CustomerCheck"></param>
        public SelectMultiMenu(List <T_SYS_ENTITYMENU> ListEntity)
        {
            InitializeComponent();
            EntityObj = new T_SYS_ENTITYMENU();
            if (ListEntity != null)
            {
                SelectedMultiMenu = ListEntity;
            }
            SelectedMultiMenu = new List <T_SYS_ENTITYMENU>();

            InitEvent();
            this.Loaded += new RoutedEventHandler(SelectMultiMenuCustomer_Loaded);
        }
Exemple #15
0
        private TreeViewItem CreateTreeItem(T_SYS_ENTITYMENU menu)
        {
            TreeViewItem treeItem = new TreeViewItem();

            treeItem.Header         = menu;
            treeItem.Tag            = menu;
            treeItem.DataContext    = menu;
            treeItem.HeaderTemplate = this.Resources["TreeMenuItemStyle"] as DataTemplate;
            treeItem.Style          = Application.Current.Resources["TreeViewItemStyle"] as Style;

            treeItem.Selected += new RoutedEventHandler(treeItem_Selected);

            return(treeItem);
        }
Exemple #16
0
        private TreeViewItem CreateTreeItem(T_SYS_ENTITYMENU menu)
        {
            TreeViewItem treeItem = new TreeViewItem();

            treeItem.Header      = menu;
            treeItem.Tag         = menu;
            treeItem.DataContext = menu;
            treeItem.Margin      = new Thickness(0);

            treeItem.Style = this.Resources["TreeMenuItemStyle"] as Style;

            treeItem.Selected += new RoutedEventHandler(treeItem_Selected);

            return(treeItem);
        }
        /// <summary>
        /// 功能项树节点的CheckBox勾选事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MenuItemCheckbox_Click(object sender, RoutedEventArgs e)
        {
            ClearPermissionDataGridCheckBox(); //清空权限菜单的选择项
            ListPermValue.Clear();             //清空权限的列表值
            CustomerPermission CustomerP   = new CustomerPermission();
            T_SYS_ENTITYMENU   Menu        = new T_SYS_ENTITYMENU();
            TreeViewItem       currentItem = null;

            foreach (TreeViewItem item in treeMenu.Items)
            {
                TreeViewItem myItem =
                    (TreeViewItem)(treeMenu.ItemContainerGenerator.ContainerFromItem(item));
                Menu = myItem.DataContext as T_SYS_ENTITYMENU;
                CheckBox cbx = SMT.SaaS.FrameworkUI.Helper.UIHelper.FindChildControl <CheckBox>(myItem);
                if (cbx == (CheckBox)sender)
                {
                    currentItem = myItem;
                    //父级菜单不为空 且为菜单
                    if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                    {
                        AddListCustomerPermission(CustomerP, Menu);
                    }
                    break;
                }
                FindTreeViewItemByChkBox(item, (CheckBox)sender, ref currentItem);
            }
            if (((CheckBox)sender).IsChecked.GetValueOrDefault() == false)
            {
                //将菜单ID清除
                //if ((((CheckBox)sender).Tag as T_SYS_ENTITYMENU).ENTITYMENUID.IndexOf(ListCustomerpermission.e))
                var menulist = from ent in SelectingCustomerpermission
                               where ent.EntityMenuId == Menu.ENTITYMENUID
                               select ent;

                if (menulist.Count() > 0)
                {
                    ListCustomerpermission.Remove(menulist.ToList().FirstOrDefault()); //去掉已经存
                }
                return;
            }


            if (currentItem != null)
            {
                UnCheckChildCheckbox(currentItem, (CheckBox)sender);
                UnCheckParentCheckbox(currentItem);
            }
        }
Exemple #18
0
        void treeItem_Selected(object sender, RoutedEventArgs e)
        {
            TreeViewItem treeItem = sender as TreeViewItem;

            if (treeItem == null)
            {
                return;
            }

            T_SYS_ENTITYMENU menu = treeItem.Tag as T_SYS_ENTITYMENU;

            if (menu == null)
            {
                return;
            }

            if (menu.URLADDRESS != null)
            {
                _lasttext = menu.URLADDRESS;
                ContentFrame.Navigate(new Uri(menu.URLADDRESS, UriKind.Relative));
                //_lasttext = (HyperlinkButton)sender;
                if (ContentFrame.Source.ToString() != _lasttext && !_isNavigating)
                {
                    _sb            = new Storyboard();
                    _sb.Completed += SbCompleted;

                    Panel panel = ContentFrame.Parent as Panel;
                    if (panel != null)
                    {
                        panel.Children.Add(_imgLast);
                    }
                    ContentFrame.Navigate(new Uri(_lasttext, UriKind.Relative));

                    WriteableBitmap bitmapL = new WriteableBitmap(ContentFrame, new TranslateTransform());
                    _imgLast.Source = bitmapL;
                    TranslateTransform ttLast = new TranslateTransform();

                    _imgLast.RenderTransform = ttLast;

                    ContentFrame.Navigated += ContentFrameNavigated;
                    _sb.Children.Add(CreateDoubleAnimation(ttLast, "X", 0, bitmapL.PixelWidth, true));

                    _isNavigating = true;
                }
            }
        }
 /// <summary>
 /// 添加功能项
 /// </summary>
 /// <param name="CustomerP"></param>
 /// <param name="Menu"></param>
 private void AddListCustomerPermission(CustomerPermission CustomerP, T_SYS_ENTITYMENU Menu)
 {
     CustomerP.EntityMenuId = Menu.ENTITYMENUID;
     if (SelectingCustomerpermission.Count() > 0)
     {
         var listperm = from ent in SelectingCustomerpermission
                        where ent.EntityMenuId == Menu.ENTITYMENUID
                        select ent;
         if (!(listperm.Count() > 0))
         {
             SelectingCustomerpermission.Add(CustomerP);
         }
     }
     else
     {
         SelectingCustomerpermission.Add(CustomerP);
     }
 }
Exemple #20
0
        private void AddChildItems(TreeViewItem treeitem, T_SYS_ENTITYMENU menu)
        {
            var menulist = from m in allMenu
                           where m.T_SYS_ENTITYMENU2Reference.EntityKey != null &&
                           m.T_SYS_ENTITYMENU2Reference.EntityKey.EntityKeyValues[0].Value.ToString() == menu.ENTITYMENUID
                           select m;

            foreach (var tmpMenu in menulist)
            {
                TreeViewItem childItem = new TreeViewItem();
                childItem.Header      = tmpMenu.MENUNAME;
                childItem.DataContext = tmpMenu;

                AddChildItems(childItem, tmpMenu);

                treeitem.Items.Add(childItem);
            }
        }
        private void AddChildItems(TreeViewItem treeitem, T_SYS_ENTITYMENU menu)
        {
            var menulist = from m in allMenu
                           where m.T_SYS_ENTITYMENU2Reference.EntityKey != null
                           && m.T_SYS_ENTITYMENU2Reference.EntityKey.EntityKeyValues[0].Value.ToString() == menu.ENTITYMENUID
                           select m;

            foreach (var tmpMenu in menulist)
            {
                TreeViewItem childItem = new TreeViewItem();
                childItem.Header = tmpMenu.MENUNAME;
                childItem.DataContext = tmpMenu;

                AddChildItems(childItem, tmpMenu);

                treeitem.Items.Add(childItem);
            }
        }
Exemple #22
0
        void client_GetSysMenuByEntityCodeCompleted(object sender, GetSysMenuByEntityCodeCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                if (e.Result != null)
                {
                    T_SYS_ENTITYMENU menu = e.Result;
                    EntityLogo = menu.MENUICONPATH;

                    Image logo = e.UserState as Image;

                    if (logo != null)
                    {
                        logo.Margin = new Thickness(2, 2, 0, 0);
                        logo.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(EntityLogo, UriKind.Relative));
                    }
                }
            }
        }
Exemple #23
0
        /// <summary>
        /// 加载菜单数据
        /// </summary>
        private void LoadData()
        {
            string filter    = " 1=1 ";
            int    pageCount = 0;
            //from a in DataContext.T_SYS_ENTITYMENU.Include("T_SYS_ENTITYMENU2")
            //           where (string.IsNullOrEmpty(sysType) || a.SYSTEMTYPE == sysType)
            //           && (string.IsNullOrEmpty(parentID) || ( a.T_SYS_ENTITYMENU2!=null && a.T_SYS_ENTITYMENU2.ENTITYMENUID == parentID) )
            //           orderby a.ORDERNUMBER
            //           select a;


            ComboBox         cbxSystemType = Utility.FindChildControl <ComboBox>(expander, "cbxSystemType");
            T_SYS_DICTIONARY dict          = cbxSystemType.SelectedItem as T_SYS_DICTIONARY;
            string           systype       = dict == null ? "" : dict.DICTIONARYVALUE.GetValueOrDefault().ToString();

            string parentid = "";
            //string StrName = "";//菜单名称


            LookUp           lkParentMenu = Utility.FindChildControl <LookUp>(expander, "lkParentMenu");
            T_SYS_ENTITYMENU menu         = lkParentMenu.DataContext as T_SYS_ENTITYMENU;

            if (!string.IsNullOrEmpty(systype))
            {
                filter += " && SYSTEMTYPE ==@" + paras.Count().ToString();
                paras.Add(systype);
            }
            if (menu != null)
            {
                parentid = menu.ENTITYMENUID;
                if (!string.IsNullOrEmpty(parentid))
                {
                    filter += " && T_SYS_ENTITYMENU2!=null && T_SYS_ENTITYMENU2.ENTITYMENUID ==@" + paras.Count().ToString();
                    paras.Add(parentid);
                }
            }
            SMT.Saas.Tools.PermissionWS.LoginUserInfo loginUserInfo = new SMT.Saas.Tools.PermissionWS.LoginUserInfo();
            loginUserInfo.companyID = Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
            loginUserInfo.userID    = Common.CurrentLoginUserInfo.EmployeeID;
            loadbar.Start();
            client.GetSysMenuByTypePagingAsync(dataPager.PageIndex, dataPager.PageSize, "ORDERNUMBER", filter, paras, pageCount, loginUserInfo);
            //client.GetSysMenuByTypeAsync(systype, parentid);
        }
Exemple #24
0
        private void myChkBox_Unchecked(object sender, RoutedEventArgs e)
        {
            CheckBox chkbox = sender as CheckBox;

            if (!chkbox.IsChecked.Value)
            {
                EntityObj = (T_SYS_ENTITYMENU)chkbox.DataContext;
                if (SelectedMultiMenu != null)
                {
                    foreach (var h in SelectedMultiMenu)
                    {
                        if (h.ENTITYMENUID == EntityObj.ENTITYMENUID)
                        {
                            SelectedMultiMenu.Remove(h);
                            break;
                        }
                    }
                }
            }
        }
Exemple #25
0
        private void DaGrMenu_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            if (SelectedMultiMenu.Count() > 0)
            {
                EntityObj = (T_SYS_ENTITYMENU)e.Row.DataContext;
                var entity = from q in SelectedMultiMenu
                             where q.ENTITYMENUID == EntityObj.ENTITYMENUID
                             select q;
                if (entity.Count() > 0)
                {
                    CheckBox chkbox = DaGrMenu.Columns[0].GetCellContent(e.Row).FindName("myChkBox") as CheckBox;
                    chkbox.IsChecked = true;
                }
            }

            T_SYS_ENTITYMENU EntityT  = (T_SYS_ENTITYMENU)e.Row.DataContext;
            CheckBox         mychkBox = DaGrMenu.Columns[0].GetCellContent(e.Row).FindName("myChkBox") as CheckBox;

            mychkBox.Tag = EntityT;
        }
        private void SetCheckedPermission(CheckBox chBox)
        {
            if (this.DataContext == null)
            {
                Utility.ShowCustomMessage(MessageTypes.Message, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("PLEASESELECTENTITYMENU"));
                return;
            }

            if (DaGr.SelectedItems.Count == 0)
            {
                return;
            }

            T_SYS_ENTITYMENU entPerm = chBox.Tag as T_SYS_ENTITYMENU;

            //PermissionValue PerObj = new PermissionValue();
            //PerObj.Permission = entPerm.PERMISSIONID;
            //T_SYS_ENTITYMENU entTemp = DaGrMenu.SelectedItems[0] as T_SYS_ENTITYMENU;
            //AddCustomPermissionByPerm(entTemp, PerObj);
        }
Exemple #27
0
        void treeItem_Selected(object sender, RoutedEventArgs e)
        {
            TreeViewItem treeItem = sender as TreeViewItem;

            if (treeItem == null)
            {
                return;
            }

            T_SYS_ENTITYMENU menu = treeItem.Tag as T_SYS_ENTITYMENU;

            if (menu == null)
            {
                return;
            }

            if (menu.URLADDRESS != null)
            {
                ContentFrame.Navigate(new Uri(menu.URLADDRESS, UriKind.Relative));
            }
        }
        /// <summary>
        /// 增加功能项的树添加节点
        /// </summary>
        /// <param name="treeitem"></param>
        /// <param name="menu"></param>
        private void AddChildItems(TreeViewItem treeitem, T_SYS_ENTITYMENU menu)
        {
            var menulist = from m in allMenu
                           where m.T_SYS_ENTITYMENU2 != null && m.T_SYS_ENTITYMENU2.ENTITYMENUID == menu.ENTITYMENUID
                           select m;

            foreach (var tmpMenu in menulist)
            {
                TreeViewItem childItem = new TreeViewItem();
                childItem.Style          = Application.Current.Resources["TreeViewItemStyle"] as Style;
                childItem.Header         = tmpMenu.MENUNAME;
                childItem.Tag            = menu.ENTITYMENUID;
                childItem.HeaderTemplate = treeViewItemTemplate;
                childItem.IsExpanded     = true;
                childItem.DataContext    = tmpMenu;

                AddChildItems(childItem, tmpMenu);

                treeitem.Items.Add(childItem);
            }
        }
        /// <summary>
        /// 勾销功能项的树子节点CheckBox
        /// </summary>
        /// <param name="item"></param>
        /// <param name="selfCheckbox"></param>
        private void UnCheckChildCheckbox(TreeViewItem item, CheckBox selfCheckbox)
        {
            T_SYS_ENTITYMENU Menu = new T_SYS_ENTITYMENU();

            foreach (TreeViewItem childItem in item.Items)
            {
                CustomerPermission CustomerP = new CustomerPermission();
                TreeViewItem       myItem    =
                    (TreeViewItem)(item.ItemContainerGenerator.ContainerFromItem(childItem));

                CheckBox cbx = SMT.SaaS.FrameworkUI.Helper.UIHelper.FindChildControl <CheckBox>(myItem);
                if (cbx == selfCheckbox)
                {
                    continue;
                }
                if (cbx != null)
                {
                    if (cbx.IsChecked == true)
                    {
                        cbx.IsChecked = false;
                        RemoveListCustomerPermission(Menu);//清除已存在的功能项
                    }
                    if (cbx.IsChecked == false)
                    {
                        cbx.IsChecked = true;
                        Menu          = myItem.DataContext as T_SYS_ENTITYMENU;
                        if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                        {
                            AddListCustomerPermission(CustomerP, Menu);
                        }
                    }
                }

                UnCheckChildCheckbox(childItem, selfCheckbox);
            }
        }
        /// <summary>
        /// 功能项树节点的CheckBox勾选事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MenuItemCheckbox_Click(object sender, RoutedEventArgs e)
        {
            ClearPermissionDataGridCheckBox();//清空权限菜单的选择项
            ListPermValue.Clear();//清空权限的列表值
            CustomerPermission CustomerP = new CustomerPermission();
            T_SYS_ENTITYMENU Menu = new T_SYS_ENTITYMENU();
            TreeViewItem currentItem = null;

            foreach (TreeViewItem item in treeMenu.Items)
            {

                TreeViewItem myItem =
                    (TreeViewItem)(treeMenu.ItemContainerGenerator.ContainerFromItem(item));
                Menu = myItem.DataContext as T_SYS_ENTITYMENU;
                CheckBox cbx = SMT.SaaS.FrameworkUI.Helper.UIHelper.FindChildControl<CheckBox>(myItem);
                if (cbx == (CheckBox)sender)
                {
                    currentItem = myItem;
                    //父级菜单不为空 且为菜单
                    if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                    {
                        AddListCustomerPermission(CustomerP, Menu);
                    }
                    break;
                }
                FindTreeViewItemByChkBox(item, (CheckBox)sender, ref currentItem);
            }
            if (((CheckBox)sender).IsChecked.GetValueOrDefault() == false)
            {
                //将菜单ID清除
                //if ((((CheckBox)sender).Tag as T_SYS_ENTITYMENU).ENTITYMENUID.IndexOf(ListCustomerpermission.e))
                var menulist = from ent in SelectingCustomerpermission
                               where ent.EntityMenuId == Menu.ENTITYMENUID
                               select ent;

                if (menulist.Count() > 0)
                    ListCustomerpermission.Remove(menulist.ToList().FirstOrDefault()); //去掉已经存
                return;
            }


            if (currentItem != null)
            {
                UnCheckChildCheckbox(currentItem, (CheckBox)sender);
                UnCheckParentCheckbox(currentItem);
            }
        }
        /// <summary>
        /// 根据选定的功能项,添加权限项到内存中,以便提交
        /// </summary>
        /// <param name="entTemp"></param>
        /// <param name="ListPermValue"></param>
        private void AddCustomPermissionByPerm(T_SYS_ENTITYMENU entMenu, PermissionValue entPermVal)
        {
            if (this.DataContext == null)
            {
                return;
            }

            List<CustomerPermission> ListCustomerpermission = this.DataContext as List<CustomerPermission>;
            var q = from c in ListCustomerpermission
                    where c.EntityMenuId == entMenu.ENTITYMENUID
                    select c;
            CustomerPermission entTemp = q.FirstOrDefault();

            ObservableCollection<PermissionValue> ListPermValue = new ObservableCollection<PermissionValue>();
            if (entTemp.PermissionValue == null)
            {
                ListPermValue.Add(entPermVal);
            }
            else
            {
                if (entTemp.PermissionValue.Count() == 0)
                {
                    ListPermValue.Add(entPermVal);
                }
                else
                {
                    ListPermValue = entTemp.PermissionValue;
                    var c = from p in ListPermValue
                            where p.Permission == entPermVal.Permission
                            select p;

                    //if (q.Count() == 0)
                    if (c.Count() == 0)
                    {
                        ListPermValue.Add(entPermVal);
                    }
                }
            }

            entTemp.PermissionValue = ListPermValue;
            this.DataContext = ListCustomerpermission;
            ClearOrganizationDataGrid(); //清空组织架构的选择项
        }
        private void AddOrgObjectInList(TreeViewItem item)
        {
            if (item == null)
            {
                return;
            }

            if (ListCustomerpermission.Count() == 0)
            {
                return;
            }

            TreeViewItem     menuitem      = (TreeViewItem)treeMenu.SelectedItem;
            T_SYS_ENTITYMENU entMenu       = menuitem.DataContext as T_SYS_ENTITYMENU;
            T_SYS_PERMISSION entPermission = DtGrid.SelectedItem as T_SYS_PERMISSION;

            ExtOrgObj obj = item.DataContext as ExtOrgObj;

            FrameworkUI.OrgTreeItemTypes nodeType = obj.ObjectType;
            OrgObject entTemp = new OrgObject();

            switch (nodeType)
            {
            case FrameworkUI.OrgTreeItemTypes.Company:
                T_HR_COMPANY tmpOrg = (T_HR_COMPANY)obj.ObjectInstance;
                if (tmpOrg != null)
                {
                    entTemp.OrgID   = tmpOrg.COMPANYID;
                    entTemp.OrgType = Convert.ToInt32(OrgTreeItemTypes.Company).ToString();
                }
                break;

            case FrameworkUI.OrgTreeItemTypes.Department:
                T_HR_DEPARTMENT tmpDep = obj.ObjectInstance as T_HR_DEPARTMENT;
                if (tmpDep != null)
                {
                    entTemp.OrgID   = tmpDep.DEPARTMENTID;
                    entTemp.OrgType = Convert.ToInt32(OrgTreeItemTypes.Department).ToString();
                }
                break;

            case FrameworkUI.OrgTreeItemTypes.Post:
                T_HR_POST tmpPost = obj.ObjectInstance as T_HR_POST;
                if (tmpPost != null)
                {
                    entTemp.OrgID   = tmpPost.POSTID;
                    entTemp.OrgType = Convert.ToInt32(OrgTreeItemTypes.Post).ToString();
                }
                break;

            default:
                break;
            }

            if (!string.IsNullOrEmpty(entTemp.OrgID) && !string.IsNullOrEmpty(entTemp.OrgType))
            {
                foreach (CustomerPermission parentitem in ListCustomerpermission)
                {
                    if (parentitem.EntityMenuId != entMenu.ENTITYMENUID)
                    {
                        continue;
                    }

                    var per = from p in parentitem.PermissionValue
                              where p.Permission == entPermission.PERMISSIONID
                              select p;

                    if (per.Count() == 0)
                    {
                        break;
                    }

                    foreach (PermissionValue childitem in per)
                    {
                        ObservableCollection <OrgObject> entsOrg = new ObservableCollection <OrgObject>();
                        if (childitem.OrgObjects == null)
                        {
                            entsOrg.Add(entTemp);
                            childitem.OrgObjects = entsOrg;
                        }
                        else if (childitem.OrgObjects.Count() == 0)
                        {
                            entsOrg.Add(entTemp);
                            childitem.OrgObjects = entsOrg;
                        }
                        else if ((childitem.OrgObjects.Count() > 0))
                        {
                            var pcc = from o in childitem.OrgObjects
                                      where o.OrgID == entTemp.OrgID && o.OrgType == entTemp.OrgType
                                      select o;
                            if (pcc.Count() == 0)
                            {
                                childitem.OrgObjects.Add(entTemp);
                            }
                        }
                    }
                }

                this.DataContext = ListCustomerpermission;
            }
        }
Exemple #33
0
        private void DaGrMenu_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            if (SelectedMultiMenu.Count() > 0)
            {
                EntityObj = (T_SYS_ENTITYMENU)e.Row.DataContext;
                var entity = from q in SelectedMultiMenu
                             where q.ENTITYMENUID == EntityObj.ENTITYMENUID
                             select q;
                if (entity.Count() > 0)
                {
                    CheckBox chkbox = DaGrMenu.Columns[0].GetCellContent(e.Row).FindName("myChkBox") as CheckBox;
                    chkbox.IsChecked = true;
                }
            }

            T_SYS_ENTITYMENU EntityT = (T_SYS_ENTITYMENU)e.Row.DataContext;
            CheckBox mychkBox = DaGrMenu.Columns[0].GetCellContent(e.Row).FindName("myChkBox") as CheckBox;
            mychkBox.Tag = EntityT;
        }
Exemple #34
0
 private void myChkBox_Checked(object sender, RoutedEventArgs e)
 {
     CheckBox chkbox = sender as CheckBox;
     if (chkbox.IsChecked.Value)
     {
         EntityObj = chkbox.DataContext as T_SYS_ENTITYMENU;
         if (EntityObj != null)
         {
             if (SelectedMultiMenu.Count > 0)
             {
                 var entity = from q in SelectedMultiMenu
                              where q.ENTITYMENUID == EntityObj.ENTITYMENUID
                              select q;
                 if (entity.Count() == 0)
                 {
                     SelectedMultiMenu.Add(EntityObj);
                 }
             }
             else
             {
                 SelectedMultiMenu.Add(EntityObj);
             }
         }
     }
 }
Exemple #35
0
 void DataGrid_CurrentCellChanged(object sender, EventArgs e)
 {
     DataGrid grid = sender as DataGrid;
     if (grid.SelectedItem != null)
     {
         Menu = (T_SYS_ENTITYMENU)grid.SelectedItems[0];//获取当前选中的行数据并转换为对应的实体     
     }
 }
 public static T_SYS_ENTITYMENU CreateT_SYS_ENTITYMENU(string eNTITYMENUID, string sYSTEMTYPE, string mENUCODE, decimal oRDERNUMBER, string mENUNAME)
 {
     T_SYS_ENTITYMENU t_SYS_ENTITYMENU = new T_SYS_ENTITYMENU();
     t_SYS_ENTITYMENU.ENTITYMENUID = eNTITYMENUID;
     t_SYS_ENTITYMENU.SYSTEMTYPE = sYSTEMTYPE;
     t_SYS_ENTITYMENU.MENUCODE = mENUCODE;
     t_SYS_ENTITYMENU.ORDERNUMBER = oRDERNUMBER;
     t_SYS_ENTITYMENU.MENUNAME = mENUNAME;
     return t_SYS_ENTITYMENU;
 }
 /// <summary>
 /// 根据功能项的CheckBox勾选,确定添加/删除已登记的功能项
 /// </summary>
 /// <param name="item"></param>
 /// <param name="selfCheckbox"></param>
 /// <param name="currentItem"></param>
 private void FindTreeViewItemByChkBox(TreeViewItem item, CheckBox selfCheckbox, ref TreeViewItem currentItem)
 {
     CustomerPermission CustomerP = new CustomerPermission();
     T_SYS_ENTITYMENU Menu = new T_SYS_ENTITYMENU();
     foreach (TreeViewItem childItem in item.Items)
     {
         TreeViewItem myItem =
                 (TreeViewItem)(item.ItemContainerGenerator.ContainerFromItem(childItem));
         CheckBox cbx = SMT.SaaS.FrameworkUI.Helper.UIHelper.FindChildControl<CheckBox>(myItem);
         if (cbx == selfCheckbox)
         {
             currentItem = myItem;
             if (cbx.IsChecked == true)
             {
                 Menu = myItem.DataContext as T_SYS_ENTITYMENU;
                 if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                 {
                     AddListCustomerPermission(CustomerP, Menu);
                 }
             }
             else
             {
                 Menu = myItem.DataContext as T_SYS_ENTITYMENU;
                 if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                 {
                     RemoveListCustomerPermission(Menu);//清除已存在的功能项                            
                 }
             }
             return;
         }
         FindTreeViewItemByChkBox(childItem, selfCheckbox, ref currentItem);
     }
 }
        /// <summary>
        /// 勾销功能项的树子节点CheckBox
        /// </summary>
        /// <param name="item"></param>
        /// <param name="selfCheckbox"></param>
        private void UnCheckChildCheckbox(TreeViewItem item, CheckBox selfCheckbox)
        {
            T_SYS_ENTITYMENU Menu = new T_SYS_ENTITYMENU();

            foreach (TreeViewItem childItem in item.Items)
            {
                CustomerPermission CustomerP = new CustomerPermission();
                TreeViewItem myItem =
                (TreeViewItem)(item.ItemContainerGenerator.ContainerFromItem(childItem));

                CheckBox cbx = SMT.SaaS.FrameworkUI.Helper.UIHelper.FindChildControl<CheckBox>(myItem);
                if (cbx == selfCheckbox)
                {
                    continue;
                }
                if (cbx != null)
                {
                    if (cbx.IsChecked == true)
                    {
                        cbx.IsChecked = false;
                        RemoveListCustomerPermission(Menu);//清除已存在的功能项
                    }
                    if (cbx.IsChecked == false)
                    {
                        cbx.IsChecked = true;
                        Menu = myItem.DataContext as T_SYS_ENTITYMENU;
                        if (Menu.T_SYS_ENTITYMENU2 != null && Menu.HASSYSTEMMENU == "1")
                        {
                            AddListCustomerPermission(CustomerP, Menu);
                        }
                    }
                }

                UnCheckChildCheckbox(childItem, selfCheckbox);
            }
        }
Exemple #39
0
        private TreeViewItem CreateTreeItem(T_SYS_ENTITYMENU menu)
        {
            TreeViewItem treeItem = new TreeViewItem();
            treeItem.Header = menu;
            treeItem.Tag = menu;
            treeItem.DataContext = menu;
            treeItem.Margin = new Thickness(0);

            treeItem.Style = this.Resources["TreeMenuItemStyle"] as Style;

            treeItem.Selected += new RoutedEventHandler(treeItem_Selected);

            return treeItem;
        }
Exemple #40
0
        private void SaveGridMenuPermission(DataGrid Dtgrid, string rateName)
        {
            if (Dtgrid.ItemsSource != null)
            {
                foreach (object obj in Dtgrid.ItemsSource)
                {
                    //T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                    if (Dtgrid.Columns[1].GetCellContent(obj) != null)
                    {
                        //menu = Dtgrid.Columns[0].GetCellContent(obj).DataContext as T_SYS_ENTITYMENU;
                        //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                        string StrMenuID = ""; //菜单ID
                        menu      = Dtgrid.Columns[1].GetCellContent(obj).DataContext as T_SYS_ENTITYMENU;
                        StrMenuID = menu.ENTITYMENUID;
                        string StrPermissionID = "";//权限ID
                        int    PermCount       = 0;
                        PermCount = tmpPermission.Count;
                        int IndexCount = 1;
                        //IndexCount = PermCount
                        bool IsCheckRange = false;//是否选择了权限范围 i =2  表示从第3列开始计算
                        for (int i = 2; i < PermCount + 2; i++)
                        {
                            IndexCount = IndexCount + i;
                            if (Dtgrid.Columns[i].GetCellContent(obj) != null)
                            {
                                string NewDataRange = "";

                                /*
                                 * 首先根据菜单ID和角色ID获取  角色菜单表的记录 存在则获取ROLEENTITYID
                                 * 然后再根据 ROLEENTITYID和权限ID 获取角色菜单权限表中的记录,取得对应的权限和现在的权限值比较
                                 * 如果相同则不处理  不同则处理
                                 */
                                StrPermissionID = tmpPermission[i - 2].PERMISSIONID;  //权限ID
                                //var q = from a in EntityPermissionInfosList//权限视图集合
                                //        where a.EntityRole.T_SYS_ENTITYMENU.ENTITYMENUID == StrMenuID
                                //        && a.EntityRole.T_SYS_ROLE.ROLEID == tmprole.ROLEID
                                //        select a;
                                var q = from a in EntityPermissionInfosListSecond//权限视图集合
                                        where a.EntityMenuID == StrMenuID &&
                                        a.RoleID == tmprole.ROLEID
                                        select a;
                                string RoleEntityID = "";
                                if (q.Count() > 0)
                                {
                                    RoleEntityID = q.ToList().FirstOrDefault().RoleEntityMenuID.ToString(); //获取角色菜单ID
                                }
                                //var m = from a in EntityPermissionInfosList
                                //var k = from b in EntityPermissionInfosList//权限视图集合
                                //        where b.RoleMenuPermission.T_SYS_PERMISSION.PERMISSIONID == StrPermissionID && b.RoleMenuPermission.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == RoleEntityID
                                //        select b;
                                var k = from b in EntityPermissionInfosListSecond//权限视图集合
                                        where b.PermissionID == StrPermissionID && b.RoleEntityMenuID == RoleEntityID
                                        select b;
                                string OldRangeValue = ""; //获取数据库中 权限对应的值

                                if (k.Count() > 0)
                                {
                                    OldRangeValue = k.ToList().FirstOrDefault().PermissionDataRange.ToString();
                                }
                                //Rating hrrate = DaGrHR.Columns[i].GetCellContent(obj).FindName("HRrating") as Rating;
                                Button hrrate = Dtgrid.Columns[i].GetCellContent(obj).FindName(rateName) as Button;

                                switch (hrrate.Content.ToString())
                                {
                                case "★":    //员工 0.2 ×10
                                    NewDataRange = "4";
                                    break;

                                case "★★":    //岗位 0.4×10
                                    NewDataRange = "3";
                                    break;

                                case "★★★":    //部门 0.6*10
                                    NewDataRange = "2";
                                    break;

                                case "★★★★":    //公司 0.8*10
                                    NewDataRange = "1";
                                    break;

                                //case "★★★★★"://集团 1.0*10
                                //    NewDataRange = "0";
                                //    break;
                                case "":    //权限
                                    NewDataRange = "";
                                    break;
                                }
                                if (OldRangeValue != NewDataRange)
                                {
                                    tmpAllList  += NewDataRange + ",";
                                    tmpAllList  += tmpPermission[i - 2].PERMISSIONID + ";";
                                    IsCheckRange = true;
                                }
                            }
                        }
                        if (IsCheckRange)
                        {
                            tmpAllList += "@" + StrMenuID + "," + "";
                            tmpAllList += "#";
                        }
                    }
                }

                if (IsAdd)
                {
                    if (string.IsNullOrEmpty(tmpAllList))
                    {
                        ComfirmWindow.ConfirmationBox(Utility.GetResourceStr("CONFIRMINFO"), "请先设置权限", Utility.GetResourceStr("CONFIRMBUTTON"));
                        RefreshUI(RefreshedTypes.HideProgressBar);
                        return;
                    }
                }
            }
        }
Exemple #41
0
        /// <summary>
        /// 设置角色菜单权限数据范围
        /// </summary>
        /// <param name="dtGrid"></param>
        /// <param name="rateName"></param>
        private void SetTabControlRate(DataGrid dtGrid, string rateName)
        {
            //if (RoleTabControl.SelectedIndex == 3)
            //{
            if (dtGrid.ItemsSource != null)
            {
                //////////////////////////////////////////////////////

                foreach (object obj in dtGrid.ItemsSource)
                {
                    T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                    if (dtGrid.Columns[0].GetCellContent(obj) != null)
                    {

                        string StrContent = "";
                        int PermCount = 0;
                        PermCount = tmpPermission.Count;

                        for (int i = 1; i < PermCount + 1; i++)
                        {
                            Button mybtn = dtGrid.Columns[i].GetCellContent(obj).FindName(rateName) as Button;
                            if (mybtn.Content == null)
                            {
                                StrContent = "";
                            }
                            else
                            {
                                StrContent = mybtn.Content.ToString();
                            }

                            switch (StrContent)
                            {
                                case "":
                                    StrContent = "★";
                                    break;
                                case "★":
                                    StrContent = "★★";
                                    break;
                                case "★★":
                                    StrContent = "★★★";
                                    break;
                                case "★★★":
                                    StrContent = "★★★★";
                                    break;
                                //case "★★★★":
                                //    StrContent = "★★★★★";
                                //    break;
                                case "★★★★":
                                    StrContent = "";
                                    break;
                            }
                            mybtn.Content = StrContent;
                        }
                    }
                }
            }
            //}
        }
Exemple #42
0
        private void SaveGridMenuPermission(DataGrid Dtgrid, string rateName)
        {
            if (Dtgrid.ItemsSource != null)
            {
                foreach (object obj in Dtgrid.ItemsSource)
                {
                    //T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                    if (Dtgrid.Columns[1].GetCellContent(obj) != null)
                    {
                        //menu = Dtgrid.Columns[0].GetCellContent(obj).DataContext as T_SYS_ENTITYMENU;
                        //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                        string StrMenuID = ""; //菜单ID
                        menu = Dtgrid.Columns[1].GetCellContent(obj).DataContext as T_SYS_ENTITYMENU;
                        StrMenuID = menu.ENTITYMENUID;
                        string StrPermissionID = "";//权限ID
                        int PermCount = 0;
                        PermCount = tmpPermission.Count;
                        int IndexCount = 1;
                        //IndexCount = PermCount
                        bool IsCheckRange = false;//是否选择了权限范围 i =2  表示从第3列开始计算
                        for (int i = 2; i < PermCount + 2; i++)
                        {
                            IndexCount = IndexCount + i;
                            if (Dtgrid.Columns[i].GetCellContent(obj) != null)
                            {
                                string NewDataRange = "";
                                /* 
                                 * 首先根据菜单ID和角色ID获取  角色菜单表的记录 存在则获取ROLEENTITYID
                                 * 然后再根据 ROLEENTITYID和权限ID 获取角色菜单权限表中的记录,取得对应的权限和现在的权限值比较
                                 * 如果相同则不处理  不同则处理
                                 */
                                StrPermissionID = tmpPermission[i - 2].PERMISSIONID;  //权限ID
                                //var q = from a in EntityPermissionInfosList//权限视图集合
                                //        where a.EntityRole.T_SYS_ENTITYMENU.ENTITYMENUID == StrMenuID
                                //        && a.EntityRole.T_SYS_ROLE.ROLEID == tmprole.ROLEID
                                //        select a;
                                var q = from a in EntityPermissionInfosListSecond//权限视图集合
                                        where a.EntityMenuID == StrMenuID
                                        && a.RoleID == tmprole.ROLEID
                                        select a;
                                string RoleEntityID = "";
                                if (q.Count() > 0)
                                {
                                    RoleEntityID = q.ToList().FirstOrDefault().RoleEntityMenuID.ToString(); //获取角色菜单ID
                                }
                                //var m = from a in EntityPermissionInfosList
                                //var k = from b in EntityPermissionInfosList//权限视图集合
                                //        where b.RoleMenuPermission.T_SYS_PERMISSION.PERMISSIONID == StrPermissionID && b.RoleMenuPermission.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == RoleEntityID
                                //        select b;
                                var k = from b in EntityPermissionInfosListSecond//权限视图集合
                                        where b.PermissionID == StrPermissionID && b.RoleEntityMenuID == RoleEntityID
                                        select b;
                                string OldRangeValue = ""; //获取数据库中 权限对应的值

                                if (k.Count() > 0)
                                {
                                    OldRangeValue = k.ToList().FirstOrDefault().PermissionDataRange.ToString();
                                }
                                //Rating hrrate = DaGrHR.Columns[i].GetCellContent(obj).FindName("HRrating") as Rating;
                                Button hrrate = Dtgrid.Columns[i].GetCellContent(obj).FindName(rateName) as Button;

                                switch (hrrate.Content.ToString())
                                {
                                    case "★"://员工 0.2 ×10
                                        NewDataRange = "4";
                                        break;
                                    case "★★"://岗位 0.4×10
                                        NewDataRange = "3";
                                        break;
                                    case "★★★"://部门 0.6*10
                                        NewDataRange = "2";
                                        break;
                                    case "★★★★"://公司 0.8*10
                                        NewDataRange = "1";
                                        break;
                                    //case "★★★★★"://集团 1.0*10
                                    //    NewDataRange = "0";
                                    //    break;
                                    case ""://权限
                                        NewDataRange = "";
                                        break;
                                }
                                if (OldRangeValue != NewDataRange)
                                {
                                    tmpAllList += NewDataRange + ",";
                                    tmpAllList += tmpPermission[i - 2].PERMISSIONID + ";";
                                    IsCheckRange = true;
                                }
                            }
                        }
                        if (IsCheckRange)
                        {
                            tmpAllList += "@" + StrMenuID + "," + "";
                            tmpAllList += "#";
                        }
                    }
                }

                if (IsAdd)
                {
                    if (string.IsNullOrEmpty(tmpAllList))
                    {
                        ComfirmWindow.ConfirmationBox(Utility.GetResourceStr("CONFIRMINFO"), "请先设置权限", Utility.GetResourceStr("CONFIRMBUTTON"));
                        RefreshUI(RefreshedTypes.HideProgressBar);
                        return;
                    }

                }
            }
        }
 public void AddToT_SYS_ENTITYMENU(T_SYS_ENTITYMENU t_SYS_ENTITYMENU)
 {
     base.AddObject("T_SYS_ENTITYMENU", t_SYS_ENTITYMENU);
 }
Exemple #44
0
        /// <summary>
        /// dg DAtagrd 
        /// </summary>
        /// <param name="dg"></param>
        /// <param name="chx">checkbox</param>
        /// <param name="strtxt">textbox</param>
        /// <param name="btn">button</param>
        private void FillPermissionDataRangeNewfill(DataGrid dg, string chx,string btn)
        {
            if (tmpEditRoleEntityPermList.Count() == 0) return;
            if (dg.Columns.Count < tmpPermission.Count) return;//还没有动态生成列
            if (dg.ItemsSource != null)
            {
                foreach (object obj in dg.ItemsSource)
                {
                    T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();
                    if (dg.Columns[0].GetCellContent(obj) != null)
                    {
                        CheckBox cb1 = dg.Columns[0].GetCellContent(obj).FindName(chx) as CheckBox; //cb为
                        if (cb1 == null) continue;
                        //cb1.Tag
                        menu = cb1.Tag as T_SYS_ENTITYMENU;
                        var bb = from a in tmpEditRoleEntityLIst
                                 where a.T_SYS_ENTITYMENU.ENTITYMENUID == menu.ENTITYMENUID
                                 select a;
                        if (bb.Count() > 0)
                        {
                            cb1.IsChecked = true;
                            T_SYS_ROLEENTITYMENU tmpRoleEntity = new T_SYS_ROLEENTITYMENU();
                            tmpRoleEntity = bb.FirstOrDefault();
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;
                            int IndexCount = 2;
                            //IndexCount = PermCount
                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                IndexCount = IndexCount + i;
                                if (dg.Columns[i].GetCellContent(obj) != null)
                                {
                                    T_SYS_PERMISSION tmpPerm = new T_SYS_PERMISSION();
                                    tmpPerm = tmpPermission[i - 2];
                                    var roles = from cc in tmpEditRoleEntityPermList
                                                where cc.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == tmpRoleEntity.ROLEENTITYMENUID && cc.T_SYS_PERMISSION.PERMISSIONID == tmpPerm.PERMISSIONID
                                                //where cc.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == tmpRoleEntity.ROLEENTITYMENUID 
                                                select cc;
                                    if (roles.Count() > 0)
                                    {
                                        //Rating hrrate = dg.Columns[i].GetCellContent(obj).FindName("HRrating") as Rating;
                                        Button hrrate = dg.Columns[i].GetCellContent(obj).FindName(btn) as Button;

                                        switch (roles.FirstOrDefault().DATARANGE)
                                        {
                                            case "0"://集团
                                                //hrrate.Value = 1;
                                                hrrate.Content = "★★★★★";
                                                break;
                                            case "1"://公司
                                                //hrrate.Value = 0.8;
                                                hrrate.Content = "★★★★";
                                                break;
                                            case "2"://部门
                                                //hrrate.Value = 0.6;
                                                hrrate.Content = "★★★";
                                                break;
                                            case "3"://岗位
                                                //hrrate.Value = 0.4;
                                                hrrate.Content = "★★";
                                                break;
                                            case "4"://个人
                                                //hrrate.Value = 0.2;
                                                hrrate.Content = "★";
                                                break;


                                        }
                                        //hrrate.Value =
                                    }

                                }// if dg.columns

                            }// for int i

                        }//bb.cout


                    }
                }//foreach(dg)
            }
        }
        /// <summary>
        /// 移除已经存在的功能项
        /// </summary>
        /// <param name="Menu"></param>
        private void RemoveListCustomerPermission(T_SYS_ENTITYMENU Menu)
        {
            var menulist = from ent in ListCustomerpermission
                           where ent.EntityMenuId == Menu.ENTITYMENUID
                           select ent;

            if (menulist.Count() > 0)
                ListCustomerpermission.Remove(menulist.ToList().FirstOrDefault()); //去掉已经存
        }
Exemple #46
0
 private void myChkBox_Unchecked(object sender, RoutedEventArgs e)
 {
     CheckBox chkbox = sender as CheckBox;
     if (!chkbox.IsChecked.Value)
     {
         EntityObj = (T_SYS_ENTITYMENU)chkbox.DataContext;
         if (SelectedMultiMenu != null)
         {
             foreach (var h in SelectedMultiMenu)
             {
                 if (h.ENTITYMENUID == EntityObj.ENTITYMENUID)
                 {
                     SelectedMultiMenu.Remove(h);
                     break;
                 }
             }
         }
     }
 }
Exemple #47
0
        private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Image CBAll = sender as Image;
            TabControl RoleTabControl = new TabControl();
            RoleTabControl = tabrolemenu;

            if (RoleTabControl.SelectedIndex == 1)//OA权限
            {
                if (DaGrOA.ItemsSource != null)
                {
                    //////////////////////////////////////////////////////
                    
                    foreach (object obj in DaGrOA.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrOA.Columns[0].GetCellContent(obj) != null)
                        {
                            
                            string StrContent = "";
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;

                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                Button mybtn = DaGrOA.Columns[i].GetCellContent(obj).FindName("OArating") as Button;
                                StrContent = mybtn.Content.ToString();

                                switch (StrContent)
                                {
                                    case "":
                                        StrContent = "★";
                                        break;
                                    case "★":
                                        StrContent = "★★";
                                        break;
                                    case "★★":
                                        StrContent = "★★★";
                                        break;
                                    case "★★★":
                                        StrContent = "★★★★";
                                        break;
                                    case "★★★★":
                                        StrContent = "★★★★★";
                                        break;
                                    case "★★★★★":
                                        StrContent = "";
                                        break;
                                }
                                mybtn.Content = StrContent;
                            }
                        }
                    }
                }

                //Button BtnOA = sender as Button;
                //if (BtnOA.Tag == null)
                //{
                //    MessageBox.Show("无法选择此行!");
                //    return;
                //}
                
            }
            if (RoleTabControl.SelectedIndex == 2)//HR权限
            {
                if (DaGrHR.ItemsSource != null)
                {
                    //////////////////////////////////////////////////////

                    foreach (object obj in DaGrHR.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrHR.Columns[0].GetCellContent(obj) != null)
                        {

                            string StrContent = "";
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;

                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                Button mybtn = DaGrHR.Columns[i].GetCellContent(obj).FindName("HRrating") as Button;
                                StrContent = mybtn.Content.ToString();

                                switch (StrContent)
                                {
                                    case "":
                                        StrContent = "★";
                                        break;
                                    case "★":
                                        StrContent = "★★";
                                        break;
                                    case "★★":
                                        StrContent = "★★★";
                                        break;
                                    case "★★★":
                                        StrContent = "★★★★";
                                        break;
                                    case "★★★★":
                                        StrContent = "★★★★★";
                                        break;
                                    case "★★★★★":
                                        StrContent = "";
                                        break;
                                }
                                mybtn.Content = StrContent;
                            }
                        }
                    }
                }

            }
            if (RoleTabControl.SelectedIndex == 3)
            {
                if (DaGrLM.ItemsSource != null)
                {
                    //////////////////////////////////////////////////////

                    foreach (object obj in DaGrLM.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrLM.Columns[0].GetCellContent(obj) != null)
                        {

                            string StrContent = "";
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;

                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                Button mybtn = DaGrLM.Columns[i].GetCellContent(obj).FindName("LMrating") as Button;
                                StrContent = mybtn.Content.ToString();

                                switch (StrContent)
                                {
                                    case "":
                                        StrContent = "★";
                                        break;
                                    case "★":
                                        StrContent = "★★";
                                        break;
                                    case "★★":
                                        StrContent = "★★★";
                                        break;
                                    case "★★★":
                                        StrContent = "★★★★";
                                        break;
                                    case "★★★★":
                                        StrContent = "★★★★★";
                                        break;
                                    case "★★★★★":
                                        StrContent = "";
                                        break;
                                }
                                mybtn.Content = StrContent;
                            }
                        }
                    }
                }
            }
            if (RoleTabControl.SelectedIndex == 4)//FB权限
            {
                if (DaGrFB.ItemsSource != null)
                {
                    //////////////////////////////////////////////////////

                    foreach (object obj in DaGrFB.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrFB.Columns[0].GetCellContent(obj) != null)
                        {

                            string StrContent = "";
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;

                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                Button mybtn = DaGrFB.Columns[i].GetCellContent(obj).FindName("FBrating") as Button;
                                StrContent = mybtn.Content.ToString();

                                switch (StrContent)
                                {
                                    case "":
                                        StrContent = "★";
                                        break;
                                    case "★":
                                        StrContent = "★★";
                                        break;
                                    case "★★":
                                        StrContent = "★★★";
                                        break;
                                    case "★★★":
                                        StrContent = "★★★★";
                                        break;
                                    case "★★★★":
                                        StrContent = "★★★★★";
                                        break;
                                    case "★★★★★":
                                        StrContent = "";
                                        break;
                                }
                                mybtn.Content = StrContent;
                            }
                        }
                    }
                }

            }
            var grid = Utility.FindParentControl<DataGrid>(CBAll);
            if (grid != null)
            {
                //GridHelper.HandleAllCheckBoxClick(grid, "checkbox", CBAll.IsChecked.GetValueOrDefault());
            }
        }
Exemple #48
0
        private TreeViewItem CreateTreeItem(T_SYS_ENTITYMENU menu)
        {
            TreeViewItem treeItem = new TreeViewItem();
            treeItem.Header = menu;
            treeItem.Tag = menu;
            treeItem.DataContext = menu;
            treeItem.HeaderTemplate = this.Resources["TreeMenuItemStyle"] as DataTemplate;
            treeItem.Style = Application.Current.Resources["TreeViewItemStyle"] as Style;

            treeItem.Selected += new RoutedEventHandler(treeItem_Selected);

            return treeItem;
        }
Exemple #49
0
        /// <summary>
        /// 设置角色菜单权限数据范围
        /// </summary>
        /// <param name="dtGrid"></param>
        /// <param name="rateName"></param>
        private void SetTabControlRate(DataGrid dtGrid, string rateName)
        {
            //if (RoleTabControl.SelectedIndex == 3)
            //{
            if (dtGrid.ItemsSource != null)
            {
                //////////////////////////////////////////////////////

                foreach (object obj in dtGrid.ItemsSource)
                {
                    T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                    if (dtGrid.Columns[0].GetCellContent(obj) != null)
                    {
                        string StrContent = "";
                        int    PermCount  = 0;
                        PermCount = tmpPermission.Count;

                        for (int i = 1; i < PermCount + 1; i++)
                        {
                            Button mybtn = dtGrid.Columns[i].GetCellContent(obj).FindName(rateName) as Button;
                            if (mybtn.Content == null)
                            {
                                StrContent = "";
                            }
                            else
                            {
                                StrContent = mybtn.Content.ToString();
                            }

                            switch (StrContent)
                            {
                            case "":
                                StrContent = "★";
                                break;

                            case "★":
                                StrContent = "★★";
                                break;

                            case "★★":
                                StrContent = "★★★";
                                break;

                            case "★★★":
                                StrContent = "★★★★";
                                break;

                            //case "★★★★":
                            //    StrContent = "★★★★★";
                            //    break;
                            case "★★★★":
                                StrContent = "";
                                break;
                            }
                            mybtn.Content = StrContent;
                        }
                    }
                }
            }
            //}
        }
        public void SysMenuUpdate(T_SYS_ENTITYMENU obj)
        {
            using (SysEntityMenuBLL bll = new SysEntityMenuBLL())
            {
                string keyString = "GetSysMenuByID" + obj.ENTITYMENUID;
                string keyStringLookUp = "GetSysMenuByTypeToLookUp" + obj.SYSTEMTYPE;

                if (WCFCache.Current[keyString] != null)
                {
                    WCFCache.Current[keyString] = null;
                }
                if (WCFCache.Current[keyStringLookUp] != null)
                {
                    WCFCache.Current[keyStringLookUp] = null;
                }
                                
                bll.SysMenuUpdate(obj);
            }
        }
        /// <summary>
        /// 把已删除的功能项从内存内移除,以便提交
        /// </summary>
        /// <param name="allMenu"></param>
        private void RemoveCustomPermissionByMenu(T_SYS_ENTITYMENU delMenu)
        {
            if (delMenu == null)
            {
                return;
            }

            if (this.DataContext == null)
            {
                return;
            }

            List<T_SYS_ENTITYMENU> entMenuChecks = new List<T_SYS_ENTITYMENU>();
            foreach (T_SYS_ENTITYMENU entity in DaGrMenu.ItemsSource)
            {
                entMenuChecks.Add(entity);
            }
            if (entMenuChecks == null)
            {
                return;
            }

            if (entMenuChecks.Count() == 0)
            {
                return;
            }

            for (int i = 0; i < entMenuChecks.Count(); i++)
            {
                T_SYS_ENTITYMENU entTemp = entMenuChecks[i];
                if (entTemp.ENTITYMENUID == delMenu.ENTITYMENUID)
                {
                    entMenuChecks.Remove(entTemp);
                }
            }

            List<CustomerPermission> ListCustomerpermission = this.DataContext as List<CustomerPermission>;
            var q = from c in ListCustomerpermission
                    where c.EntityMenuId == delMenu.ENTITYMENUID
                    select c;
            if (q.Count() > 0)
            {
                foreach (CustomerPermission p in q.ToList())
                {
                    ListCustomerpermission.Remove(p);
                }
                //ListCustomerpermission.Remove(q.FirstOrDefault());
            }

            this.DataContext = ListCustomerpermission;
            DataGridBindingPcv(DaGrMenu, entMenuChecks);//重新绑定

        }
Exemple #52
0
        private void AddSubMenu(List <T_SYS_ENTITYMENU> menulist, TreeViewItem parentItem, T_SYS_ENTITYMENU menu)
        {
            var menuItems = from m in menulist
                            where m.T_SYS_ENTITYMENU2 != null && m.T_SYS_ENTITYMENU2.ENTITYMENUID == menu.ENTITYMENUID
                            orderby m.ORDERNUMBER
                            select m;

            if (menuItems == null || menuItems.Count() <= 0)
            {
                return;
            }

            foreach (var subMenu in menuItems)
            {
                TreeViewItem treeItem = CreateTreeItem(subMenu);
                if (!(MenuInfosList.IndexOf(subMenu.ENTITYMENUID) > -1))
                {
                    //treeItem.IsEnabled = false;
                }
                parentItem.Items.Add(treeItem);

                AddSubMenu(menulist, treeItem, subMenu);
            }
        }
Exemple #53
0
        private void Save()
        {
            try
            {
                
                
                #region OA系统
                if (DaGrOA.ItemsSource != null)
                {
                    //////////////////////////////////////////////////////
                    //if (DaGrOA.SelectedItems.Count > 0)
                    //{
                    foreach (object obj in DaGrOA.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrOA.Columns[0].GetCellContent(obj) != null)
                        {

                            //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                            CheckBox cb1 = DaGrOA.Columns[0].GetCellContent(obj).FindName("myChkBtn") as CheckBox; //cb为
                            //if (cb1.IsChecked == true)
                            //{

                            menu = cb1.Tag as T_SYS_ENTITYMENU;
                            //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                            string StrMenuID = ""; //菜单ID
                            StrMenuID = menu.ENTITYMENUID;
                            string StrPermissionID = "";//权限ID
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;
                            int IndexCount = 2;
                            //IndexCount = PermCount
                            bool IsCheckRange = false;
                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                IndexCount = IndexCount + i;
                                if (DaGrOA.Columns[i].GetCellContent(obj) != null)
                                {
                                    string StrDataRange = "";
                                    /*
                                     * 
                                     * 首先根据菜单ID和角色ID获取  角色菜单表的记录 存在则获取ROLEENTITYID
                                     * 然后再根据 ROLEENTITYID和权限ID 获取角色菜单权限表中的记录,取得对应的权限和现在的权限值比较
                                     * 如果相同则不处理  不同则处理                                     * 
                                     * 
                                     * 
                                     
                                     
                                     
                                     */
                                    
                                    
                                    StrPermissionID = tmpPermission[i - 2].PERMISSIONID;  //权限ID
                                    var q = from a in EntityPermissionInfosList
                                            where a.EntityRole.T_SYS_ENTITYMENU.ENTITYMENUID == StrMenuID && a.EntityRole.T_SYS_ROLE.ROLEID == tmprole.ROLEID

                                            select a;
                                    string RoleEntityID = "";
                                    if (q.Count() > 0)
                                    {
                                        RoleEntityID = q.ToList().FirstOrDefault().EntityRole.ROLEENTITYMENUID.ToString(); //获取角色菜单ID
                                    }
                                    //var m = from a in EntityPermissionInfosList
                                    var k = from b in EntityPermissionInfosList
                                            where b.RoleMenuPermission.T_SYS_PERMISSION.PERMISSIONID == StrPermissionID && b.RoleMenuPermission.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == RoleEntityID
                                            select b;
                                    string DataRangeValue = ""; //获取数据库中 权限对应的值

                                    if (k.Count() > 0)
                                    {
                                        DataRangeValue = k.ToList().FirstOrDefault().RoleMenuPermission.DATARANGE.ToString();
                                    }
                                    /***********************************************************************************************/
                                    //Rating hrrate = DaGrOA.Columns[i].GetCellContent(obj).FindName("OArating") as Rating;
                                    Button hrrate = DaGrOA.Columns[i].GetCellContent(obj).FindName("OArating") as Button;
                                    //switch ((int)(hrrate.Value * 10))
                                    switch(hrrate.Content.ToString())
                                    {
                                        case "★"://员工 0.2 ×10
                                            StrDataRange = "4";
                                            break;
                                        case "★★"://岗位 0.4×10
                                            StrDataRange = "3";
                                            break;
                                        case "★★★"://部门 0.6*10
                                            StrDataRange = "2";
                                            break;
                                        case "★★★★"://公司 0.8*10
                                            StrDataRange = "1";
                                            break;
                                        case "★★★★★"://集团 1.0*10
                                            StrDataRange = "0";
                                            break;

                                    }
                                    if (DataRangeValue != StrDataRange)
                                    {
                                        tmpAllList += StrDataRange + ",";
                                        tmpAllList += tmpPermission[i - 2].PERMISSIONID + ";";
                                        IsCheckRange = true;
                                    }
                                    else
                                    {
                                        tmpAllList += "" + "," + ";";
                                    }
                                    
                                }

                            }
                            if (IsCheckRange)
                            {
                                
                                menuInfosList.Add(menu);
                                if (menu.T_SYS_ENTITYMENU2 != null)
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + menu.T_SYS_ENTITYMENU2.ENTITYMENUID;
                                }
                                else
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + "";
                                }
                                tmpAllList += "#";
                            }
                            else
                            {
                                if (tmpAllList.Length != 0)
                                {
                                    int SubStringLength = 2 * PermCount;
                                    tmpAllList = tmpAllList.Substring(0, tmpAllList.Length - SubStringLength);
                                }
                            }



                            //}//if (cb1.IsChecked == true)

                        }
                    }
                    //}// end count
                    

                    

                }
                #endregion
                #region HR系统
                if (DaGrHR.ItemsSource != null)
                {
                    foreach (object obj in DaGrHR.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrHR.Columns[0].GetCellContent(obj) != null)
                        {

                            //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                            CheckBox cb1 = DaGrHR.Columns[0].GetCellContent(obj).FindName("myChkBtnHR") as CheckBox; //cb为
                            //if (cb1.IsChecked == true)
                            //{

                            menu = cb1.Tag as T_SYS_ENTITYMENU;
                            //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                            string StrMenuID = ""; //菜单ID
                            StrMenuID = menu.ENTITYMENUID;
                            string StrPermissionID = "";//权限ID
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;
                            int IndexCount = 2;
                            //IndexCount = PermCount
                            bool IsCheckRange = false;//是否选择了权限范围
                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                IndexCount = IndexCount + i;
                                if (DaGrHR.Columns[i].GetCellContent(obj) != null)
                                {
                                    string StrDataRange = "";
                                    /*
                                     * 
                                     * 首先根据菜单ID和角色ID获取  角色菜单表的记录 存在则获取ROLEENTITYID
                                     * 然后再根据 ROLEENTITYID和权限ID 获取角色菜单权限表中的记录,取得对应的权限和现在的权限值比较
                                     * 如果相同则不处理  不同则处理                                     * 
                                     * 
                                     * 
                                     
                                     
                                     
                                     */
                                    
                                    
                                    StrPermissionID = tmpPermission[i - 2].PERMISSIONID;  //权限ID
                                    var q = from a in EntityPermissionInfosList
                                            where a.EntityRole.T_SYS_ENTITYMENU.ENTITYMENUID == StrMenuID && a.EntityRole.T_SYS_ROLE.ROLEID == tmprole.ROLEID

                                            select a;
                                    string RoleEntityID = "";
                                    if (q.Count() > 0)
                                    {
                                        RoleEntityID = q.ToList().FirstOrDefault().EntityRole.ROLEENTITYMENUID.ToString(); //获取角色菜单ID
                                    }
                                    //var m = from a in EntityPermissionInfosList
                                    var k = from b in EntityPermissionInfosList
                                            where b.RoleMenuPermission.T_SYS_PERMISSION.PERMISSIONID == StrPermissionID && b.RoleMenuPermission.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == RoleEntityID
                                            select b;
                                    string DataRangeValue = ""; //获取数据库中 权限对应的值

                                    if (k.Count() > 0)
                                    {
                                        DataRangeValue = k.ToList().FirstOrDefault().RoleMenuPermission.DATARANGE.ToString();
                                    }
                                    //Rating hrrate = DaGrHR.Columns[i].GetCellContent(obj).FindName("HRrating") as Rating;
                                    Button hrrate = DaGrHR.Columns[i].GetCellContent(obj).FindName("HRrating") as Button;                                    
                                    switch (hrrate.Content.ToString())
                                    {
                                        case "★"://员工 0.2 ×10
                                            StrDataRange = "4";
                                            break;
                                        case "★★"://岗位 0.4×10
                                            StrDataRange = "3";
                                            break;
                                        case "★★★"://部门 0.6*10
                                            StrDataRange = "2";
                                            break;
                                        case "★★★★"://公司 0.8*10
                                            StrDataRange = "1";
                                            break;
                                        case "★★★★★"://集团 1.0*10
                                            StrDataRange = "0";
                                            break;
                                            

                                    }
                                    if (DataRangeValue != StrDataRange)
                                    {
                                        tmpAllList += StrDataRange + ",";
                                        tmpAllList += tmpPermission[i - 2].PERMISSIONID + ";";
                                        IsCheckRange = true;
                                    }
                                    else
                                    {
                                        tmpAllList += "" + "," + ";";
                                    }
                                }

                            }
                            if (IsCheckRange)
                            {
                                
                                menuInfosList.Add(menu);
                                if (menu.T_SYS_ENTITYMENU2 != null)
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + menu.T_SYS_ENTITYMENU2.ENTITYMENUID;
                                }
                                else
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + "";
                                }
                                tmpAllList += "#";
                            }
                            else
                            {
                                if (tmpAllList.Length != 0)
                                {
                                    int SubStringLength = 2 * PermCount;
                                    tmpAllList = tmpAllList.Substring(0, tmpAllList.Length - SubStringLength);
                                }
                            }



                            //}//if (cb1.IsChecked == true)

                        }
                    }

                    
                    
                    
                }
                #endregion
                #region 物流系统
                if (DaGrHR.ItemsSource != null)
                {
                    foreach (object obj in DaGrLM.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrLM.Columns[0].GetCellContent(obj) != null)
                        {

                            //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                            CheckBox cb1 = DaGrLM.Columns[0].GetCellContent(obj).FindName("myChkBtnLM") as CheckBox; //cb为
                            //if (cb1.IsChecked == true)
                            //{

                            menu = cb1.Tag as T_SYS_ENTITYMENU;
                            //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                            string StrMenuID = ""; //菜单ID
                            StrMenuID = menu.ENTITYMENUID;
                            string StrPermissionID = "";//权限ID
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;
                            int IndexCount = 2;
                            //IndexCount = PermCount
                            bool IsCheckRange = false;//是否选择了权限范围
                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                IndexCount = IndexCount + i;
                                if (DaGrLM.Columns[i].GetCellContent(obj) != null)
                                {
                                    string StrDataRange = "";
                                    /*
                                     * 
                                     * 首先根据菜单ID和角色ID获取  角色菜单表的记录 存在则获取ROLEENTITYID
                                     * 然后再根据 ROLEENTITYID和权限ID 获取角色菜单权限表中的记录,取得对应的权限和现在的权限值比较
                                     * 如果相同则不处理  不同则处理                                     * 
                                     * 
                                     * 
                                     
                                     
                                     
                                     */
                                    //Rating hrrate = DaGrFB.Columns[i].GetCellContent(obj).FindName("FBrating") as Rating;
                                    
                                    StrPermissionID = tmpPermission[i - 2].PERMISSIONID;  //权限ID
                                    var q = from a in EntityPermissionInfosList
                                            where a.EntityRole.T_SYS_ENTITYMENU.ENTITYMENUID == StrMenuID && a.EntityRole.T_SYS_ROLE.ROLEID == tmprole.ROLEID

                                            select a;
                                    string RoleEntityID = "";
                                    if (q.Count() > 0)
                                    {
                                        RoleEntityID = q.ToList().FirstOrDefault().EntityRole.ROLEENTITYMENUID.ToString(); //获取角色菜单ID
                                    }
                                    //var m = from a in EntityPermissionInfosList
                                    var k = from b in EntityPermissionInfosList
                                            where b.RoleMenuPermission.T_SYS_PERMISSION.PERMISSIONID == StrPermissionID && b.RoleMenuPermission.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == RoleEntityID
                                            select b;
                                    string DataRangeValue = ""; //获取数据库中 权限对应的值

                                    if (k.Count() > 0)
                                    {
                                        DataRangeValue = k.ToList().FirstOrDefault().RoleMenuPermission.DATARANGE.ToString();
                                    }
                                    //Rating LMrate = DaGrLM.Columns[i].GetCellContent(obj).FindName("LMrating") as Rating;
                                    Button LMrate = DaGrLM.Columns[i].GetCellContent(obj).FindName("LMrating") as Button;
                                    switch (LMrate.Content.ToString())
                                    {
                                        case "★"://员工 0.2 ×10
                                            StrDataRange = "4";
                                            break;
                                        case "★★"://岗位 0.4×10
                                            StrDataRange = "3";
                                            break;
                                        case "★★★"://部门 0.6*10
                                            StrDataRange = "2";
                                            break;
                                        case "★★★★"://公司 0.8*10
                                            StrDataRange = "1";
                                            break;
                                        case "★★★★★"://集团 1.0*10
                                            StrDataRange = "0";
                                            break;


                                    }
                                    if (DataRangeValue != StrDataRange)
                                    {
                                        tmpAllList += StrDataRange + ",";
                                        tmpAllList += tmpPermission[i - 2].PERMISSIONID + ";";
                                        IsCheckRange = true;
                                    }
                                    else
                                    {
                                        tmpAllList += "" + "," + ";";
                                    }
                                }

                            }
                            if (IsCheckRange)
                            {
                                
                                menuInfosList.Add(menu);
                                if (menu.T_SYS_ENTITYMENU2 != null)
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + menu.T_SYS_ENTITYMENU2.ENTITYMENUID;
                                }
                                else
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + "";
                                }
                                tmpAllList += "#";
                            }
                            else
                            {
                                if (tmpAllList.Length != 0)
                                {
                                    int SubStringLength = 2 * PermCount;
                                    tmpAllList = tmpAllList.Substring(0, tmpAllList.Length - SubStringLength);
                                }
                            }



                            //}//if (cb1.IsChecked == true)

                        }
                    }




                }
                #endregion
                #region 预算系统
                if (DaGrFB.ItemsSource != null)
                {
                    foreach (object obj in DaGrFB.ItemsSource)
                    {
                        T_SYS_ENTITYMENU menu = new T_SYS_ENTITYMENU();

                        if (DaGrFB.Columns[0].GetCellContent(obj) != null)
                        {
                            CheckBox cb1 = DaGrFB.Columns[0].GetCellContent(obj).FindName("myChkBtnFB") as CheckBox; //cb为
                            //if (cb1.IsChecked == true)
                            //{

                            menu = cb1.Tag as T_SYS_ENTITYMENU;
                            //tmpAllList += menu.T_SYS_ENTITYMENU2.ENTITYMENUID + ",";
                            string StrMenuID = ""; //菜单ID
                            StrMenuID = menu.ENTITYMENUID;
                            string StrPermissionID = "";//权限ID
                            int PermCount = 0;
                            PermCount = tmpPermission.Count;
                            int IndexCount = 2;
                            //IndexCount = PermCount
                            bool IsCheckRange = false;//是否选择了权限范围
                            for (int i = 2; i < PermCount + 2; i++)
                            {
                                IndexCount = IndexCount + i;
                                if (DaGrFB.Columns[i].GetCellContent(obj) != null)
                                {
                                    string StrDataRange = "";
                                    /*
                                     * 
                                     * 首先根据菜单ID和角色ID获取  角色菜单表的记录 存在则获取ROLEENTITYID
                                     * 然后再根据 ROLEENTITYID和权限ID 获取角色菜单权限表中的记录,取得对应的权限和现在的权限值比较
                                     * 如果相同则不处理  不同则处理                                     * 
                                     * 
                                     * 
                                     
                                     
                                     
                                     */
                                    //Rating hrrate = DaGrFB.Columns[i].GetCellContent(obj).FindName("FBrating") as Rating;
                                    Button hrrate = DaGrFB.Columns[i].GetCellContent(obj).FindName("FBrating") as Button;
                                    StrPermissionID = tmpPermission[i - 2].PERMISSIONID;  //权限ID
                                    var q = from a in EntityPermissionInfosList
                                            where a.EntityRole.T_SYS_ENTITYMENU.ENTITYMENUID == StrMenuID && a.EntityRole.T_SYS_ROLE.ROLEID == tmprole.ROLEID

                                            select a;
                                    string RoleEntityID = "";
                                    if (q.Count() > 0)
                                    {
                                        RoleEntityID = q.ToList().FirstOrDefault().EntityRole.ROLEENTITYMENUID.ToString(); //获取角色菜单ID
                                    }
                                    //var m = from a in EntityPermissionInfosList
                                    var k = from b in EntityPermissionInfosList
                                            where b.RoleMenuPermission.T_SYS_PERMISSION.PERMISSIONID == StrPermissionID && b.RoleMenuPermission.T_SYS_ROLEENTITYMENU.ROLEENTITYMENUID == RoleEntityID
                                            select b;
                                    string DataRangeValue = ""; //获取数据库中 权限对应的值
                                    
                                    if (k.Count() > 0)
                                    { 
                                        DataRangeValue = k.ToList().FirstOrDefault().RoleMenuPermission.DATARANGE.ToString();
                                    }
                                    switch (hrrate.Content.ToString())
                                    {
                                        case "★"://员工 0.2 ×10
                                            StrDataRange = "4";
                                            break;
                                        case "★★"://岗位 0.4×10
                                            StrDataRange = "3";
                                            break;
                                        case "★★★"://部门 0.6*10
                                            StrDataRange = "2";
                                            break;
                                        case "★★★★"://公司 0.8*10
                                            StrDataRange = "1";
                                            break;
                                        case "★★★★★"://集团 1.0*10
                                            StrDataRange = "0";
                                            break;

                                    }
                                    if (DataRangeValue != StrDataRange)
                                    {
                                        tmpAllList += StrDataRange + ",";
                                        tmpAllList += tmpPermission[i - 2].PERMISSIONID + ";";
                                        IsCheckRange = true;
                                    }
                                    else
                                    {
                                        tmpAllList += "" + "," + ";";
                                    }
                                }

                            }
                            if (IsCheckRange)
                            {
                                
                                menuInfosList.Add(menu);
                                if (menu.T_SYS_ENTITYMENU2 != null)
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + menu.T_SYS_ENTITYMENU2.ENTITYMENUID;
                                }
                                else
                                {
                                    tmpAllList += "@" + menu.ENTITYMENUID + "," + "";
                                }
                                tmpAllList += "#";
                            }
                            else
                            {                                
                                if (tmpAllList.Length != 0)
                                {
                                    int SubStringLength = 2 * PermCount;
                                    tmpAllList = tmpAllList.Substring(0, tmpAllList.Length - SubStringLength);
                                }
                            }



                            //}//if (cb1.IsChecked == true)

                        }
                    }




                }
                #endregion
                
                if (!string.IsNullOrEmpty(tmpAllList))
                {
                    loadbar.Start();
                    tmpAllList = tmpAllList.Substring(0, tmpAllList.Length - 1);
                }
                if (IsAdd)
                {
                    if (string.IsNullOrEmpty(tmpAllList))
                    {
                        ComfirmWindow.ConfirmationBox(Utility.GetResourceStr("CONFIRMINFO"), "请选择菜单", Utility.GetResourceStr("CONFIRMBUTTON"));

                        return;
                    }
                    
                }
                
                RoleClient.BatchAddRoleEntityPermissionInfosAsync(tmpAllList, "admin", tmprole.ROLEID);
                
                

            }
            catch (Exception ex)
            {
                ComfirmWindow.ConfirmationBox(Utility.GetResourceStr("CONFIRMINFO"), ex.ToString(), Utility.GetResourceStr("CONFIRMBUTTON"));
            }
        }
Exemple #54
0
        private void InitParas(string menuID)
        {

            ServiceClient = new PermissionServiceClient();
            //ServiceClient.SysMenuAddCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(ServiceClient_SysMenuAddCompleted);
            ServiceClient.SysMenuAddCompleted += new EventHandler<SysMenuAddCompletedEventArgs>(ServiceClient_SysMenuAddCompleted);
            ServiceClient.SysMenuUpdateCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(ServiceClient_SysMenuUpdateCompleted);
            
            //ServiceClient.GetSysMenuByTypeCompleted += new EventHandler<GetSysMenuByTypeCompletedEventArgs>(ServiceClient_GetSysMenuByTypeCompleted);
            ServiceClient.GetSysMenuByIDCompleted += new EventHandler<GetSysMenuByIDCompletedEventArgs>(ServiceClient_GetSysMenuByIDCompleted);
            ServiceClient.GetSysDictionaryByCategoryCompleted += new EventHandler<GetSysDictionaryByCategoryCompletedEventArgs>(ServiceClient_GetSysDictionaryByCategoryCompleted);

            if (FormType == FormTypes.New)
            {
                SysMenu = new T_SYS_ENTITYMENU();
                SysMenu.ENTITYMENUID = Guid.NewGuid().ToString();
                //绑定系统类型
                ServiceClient.GetSysDictionaryByCategoryAsync("SYSTEMTYPE");
                
                //BindParentMenu();
            }
            if (!string.IsNullOrEmpty(menuID))
            {
                ServiceClient.GetSysMenuByIDAsync(menuID);
            }

        }
 /// <summary>
 /// 添加功能项
 /// </summary>
 /// <param name="CustomerP"></param>
 /// <param name="Menu"></param>
 private void AddListCustomerPermission(CustomerPermission CustomerP, T_SYS_ENTITYMENU Menu)
 {
     CustomerP.EntityMenuId = Menu.ENTITYMENUID;
     if (SelectingCustomerpermission.Count() > 0)
     {
         var listperm = from ent in SelectingCustomerpermission
                        where ent.EntityMenuId == Menu.ENTITYMENUID
                        select ent;
         if (!(listperm.Count() > 0))
             SelectingCustomerpermission.Add(CustomerP);
     }
     else
     {
         SelectingCustomerpermission.Add(CustomerP);
     }
 }
        public string SysMenuAdd(T_SYS_ENTITYMENU obj)
        {
            using (SysEntityMenuBLL bll = new SysEntityMenuBLL())
            {
                if (obj != null)
                {
                    string keyString = "GetSysMenuByType" + obj.SYSTEMTYPE;
                    string keyStringLookUp = "GetSysMenuByTypeToLookUp" + obj.SYSTEMTYPE;

                    if (WCFCache.Current[keyString] != null)
                    {
                        WCFCache.Current[keyString] = null;
                    }
                    if (WCFCache.Current[keyStringLookUp] != null)
                    {
                        WCFCache.Current[keyStringLookUp] = null;
                    }
                }
                return bll.SysMenuAdd(obj);
            }
        }
        /// <summary>
        /// 增加功能项的树添加节点
        /// </summary>
        /// <param name="treeitem"></param>
        /// <param name="menu"></param>
        private void AddChildItems(TreeViewItem treeitem, T_SYS_ENTITYMENU menu)
        {
            var menulist = from m in allMenu
                           where m.T_SYS_ENTITYMENU2 != null && m.T_SYS_ENTITYMENU2.ENTITYMENUID == menu.ENTITYMENUID
                           select m;

            foreach (var tmpMenu in menulist)
            {
                TreeViewItem childItem = new TreeViewItem();
                childItem.Style = Application.Current.Resources["TreeViewItemStyle"] as Style;
                childItem.Header = tmpMenu.MENUNAME;
                childItem.Tag = menu.ENTITYMENUID;
                childItem.HeaderTemplate = treeViewItemTemplate;
                childItem.IsExpanded = true;
                childItem.DataContext = tmpMenu;

                AddChildItems(childItem, tmpMenu);

                treeitem.Items.Add(childItem);
            }
        }        
Exemple #58
0
        private void AddSubMenu(List<T_SYS_ENTITYMENU> menulist, TreeViewItem parentItem, T_SYS_ENTITYMENU menu)
        {
            var menuItems = from m in menulist
                            where m.T_SYS_ENTITYMENU2 != null && m.T_SYS_ENTITYMENU2.ENTITYMENUID == menu.ENTITYMENUID
                            orderby m.ORDERNUMBER
                            select m;
            if (menuItems == null || menuItems.Count() <= 0)
                return;

            foreach (var subMenu in menuItems)
            {

                TreeViewItem treeItem = CreateTreeItem(subMenu);

                parentItem.Items.Add(treeItem);

                AddSubMenu(menulist, treeItem, subMenu);
            }
        }
        /// <summary>
        /// 根据选定的功能项,从内存中移除已勾销的权限项,以便提交
        /// </summary>
        /// <param name="entTemp"></param>
        /// <param name="PerObj"></param>
        private void RemoveCustomPermissionByPerm(T_SYS_ENTITYMENU entMenu, PermissionValue PerObj)
        {
            if (this.DataContext == null)
            {
                return;
            }

            ClearOrganizationDataGrid();

            List<CustomerPermission> ListCustomerpermission = this.DataContext as List<CustomerPermission>;
            var q = from c in ListCustomerpermission
                    where c.EntityMenuId == entMenu.ENTITYMENUID
                    select c;
            CustomerPermission entTemp = q.FirstOrDefault();

            if (entTemp.PermissionValue == null)
            {
                return;
            }

            if (entTemp.PermissionValue.Count() == 0)
            {
                return;
            }
            var ents = from ent in entTemp.PermissionValue
                       where ent.Permission == PerObj.Permission
                       select ent;
            if (ents.Count() > 0)
            {
                ents.ToList().ForEach(item => {
                    entTemp.PermissionValue.Remove(item);
                });
            }
                //entTemp.PermissionValue.Remove(PerObj);

                //entTemp.PermissionValue.Remove(ents.FirstOrDefault());
            this.DataContext = ListCustomerpermission;
        }