PermissionHelper.cs 2.49 KB
using HHECS.Model.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace HHECS.WinCommon.Tools
{
    public class PermissionHelper
    {
        #region 权限

        /// <summary>
        /// 检查按钮权限
        /// </summary>
        /// <param name="menuOperations"></param>
        /// <param name="controls"></param>
        public static void CheckPermission(List<Permission> menuOperations, UIElementCollection controls)
        {
            foreach (var item in controls)
            {
                if (item is Button)
                {
                    Button temp = item as Button;
                    if (temp.Tag is string)
                    {
                        string perms = (string)temp.Tag;
                        if (menuOperations.Count(t => t.Perms == perms) > 0)
                        {
                            temp.Visibility = Visibility.Visible;
                        }
                        else
                        {
                            temp.Visibility = Visibility.Collapsed;
                        }
                    }
                    else
                    {
                        temp.Visibility = Visibility.Collapsed;
                    }
                }
            }
        }

        /// <summary>
        /// 检查按钮权限
        /// </summary>
        /// <param name="menuOperations"></param>
        /// <param name="controls"></param>
        public static void CheckPermission(List<Permission> menuOperations, List<UIElement> controls)
        {
            foreach (var item in controls)
            {
                if (item is Button)
                {
                    Button temp = item as Button;
                    if (temp.Tag is string)
                    {
                        string perms = (string)temp.Tag;
                        if (menuOperations.Count(t => t.Perms == perms) > 0)
                        {
                            temp.Visibility = Visibility.Visible;
                        }
                        else
                        {
                            temp.Visibility = Visibility.Collapsed;
                        }
                    }
                    else
                    {
                        temp.Visibility = Visibility.Collapsed;
                    }
                }
            }
        }


        #endregion
    }
}