예제 #1
0
        public void Init()
        {
            if (Id.HasValue)
            {
                BllResult <Role> result = AppSession.BllService.GetRoleById(Id.Value);
                if (result.Success)
                {
                    CurrentRole.Id       = result.Data.Id;
                    CurrentRole.RoleName = result.Data.RoleName;
                    CurrentRole.Remark   = result.Data.Remark;
                }
                else
                {
                    MessageBox.Show("未能获取指定角色");
                }
            }

            this.GridMain.DataContext = CurrentRole;
            BllResult <List <MenuOperation> > result2 = AppSession.BllService.GetAllMenuOperation();

            if (!result2.Success)
            {
                MessageBox.Show("未能获取权限值");
            }
            else
            {
                AllMenuOperations = result2.Data;
            }
            if (CurrentRole.Id != null)
            {
                result2 = AppSession.BllService.FindMenuOperation(new List <Role>()
                {
                    CurrentRole
                });
                if (!result2.Success)
                {
                    MessageBox.Show("未能获取拥有的权限值");
                }
                else
                {
                    HasMenuOperations = result2.Data;
                    AllMenuOperations.ForEach(t => { t.HasPerm = HasMenuOperations.Count(i => i.Id == t.Id) > 0; });
                }
            }
            AppSession.BllService.Combine(AllMenuOperations.FindAll(t => t.ParentId == null).ToList(), AllMenuOperations);
            treeMain.ItemsSource = AllMenuOperations.FindAll(t => t.ParentId == null).ToList();
        }
예제 #2
0
        private void CheckBox_Click(object sender, RoutedEventArgs e)
        {
            CheckBox   cb   = (CheckBox)sender;
            int?       id   = (int?)cb.Tag;
            var        temp = AllMenuOperations.Find(t => t.Id == id);
            List <int> ids  = new List <int>();

            AppSession.BllService.GetMenuOperationIds(new List <MenuOperation> {
                temp
            }, AllMenuOperations, ids);
            AllMenuOperations.ForEach(t =>
            {
                if (ids.Count(i => i == t.Id) > 0)
                {
                    t.HasPerm = !t.HasPerm;
                }
            });
        }
예제 #3
0
 private void BtnSave_Click(object sender, RoutedEventArgs e)
 {
     if (String.IsNullOrWhiteSpace(CurrentRole.RoleName))
     {
         MessageBox.Show("角色名不能为空");
         return;
     }
     if (Id == null)
     {
         //说明是新增
         BllResult <Role> result = AppSession.BllService.InsertRoleAndMenuOperations(CurrentRole, AllMenuOperations.FindAll(t => t.HasPerm == true));
         if (result.Success)
         {
             CurrentRole.Id = result.Data.Id;
             Id             = result.Data.Id;
             MessageBox.Show("新增成功");
         }
         else
         {
             MessageBox.Show("新增失败:" + result.Msg);
         }
     }
     else
     {
         //说明是更新
         BllResult <Role> result = AppSession.BllService.UpdateRoleAndMenuOperations(CurrentRole, AllMenuOperations.FindAll(t => t.HasPerm == true));
         if (result.Success)
         {
             CurrentRole.Id = result.Data.Id;
             Id             = result.Data.Id;
             MessageBox.Show("更新成功");
         }
         else
         {
             MessageBox.Show("更新失败:" + result.Msg);
         }
     }
     Init();
 }