AppSession.cs 1.76 KB
using HHECS.Bll;
using HHECS.Model;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace HHECS
{
    public static class AppSession
    {
        public static User User { get; set; }

        public static string ConnectionString { get; set; } = ConfigurationManager.AppSettings["connectStr"];

        public static string LogPath { get; set; }

        public static IBll Bll { get; set; } = new DefaultBll(ConnectionString);

        public static List<MenuOperation> MenuOperations { get; set; }

        /// <summary>
        /// 时钟间隔
        /// </summary>
        public static double Interval { get; internal set; } =Convert.ToDouble(ConfigurationManager.AppSettings["interval"]);

        public  static void CheckPermission(List<MenuOperation> 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.Hidden;
                        }
                    }
                    else
                    {
                        temp.Visibility = Visibility.Hidden;
                    }
                }
            }
        }
    }
}