ServiceManagerGlobal.cs 3.7 KB
using System;
using System.Configuration;
using System.Collections;

namespace ServiceManager
{
    using MyCMMI.Comm;
    public class ServiceManagerGlobal
    {
        public static PersonalInfo g_personalInfo;
        public static System.Collections.Hashtable UserConfig = new Hashtable();
        //添加用户属性名
        //每个属性的名字必须添加在此,可以避免属性名字重复
        //例:public const 属性名="属性名";
        public const string DateTime = "DateTime";//时间:在每次登录时会被更新本地Config文件的时间属性
        public const string Project = "Project";//项目:记录登录选择的项目
        public const string BaseLine = "BaseLine";//基线
        public ServiceManagerGlobal()
        {

        }
        public bool SetUserAttribute(string AttributeName, object AttributeValue)
        {
            GlobalConfig globalconfig = new GlobalConfig();
            string CurrentLoginName = g_personalInfo.LoginName;
            string NewValue = AttributeValue.ToString();
            if (globalconfig.ModifyUseConfig(CurrentLoginName, AttributeName, NewValue))
            {
                if (ServiceManagerGlobal.UserConfig == null)
                {
                    ServiceManagerGlobal.UserConfig.Add(AttributeName, NewValue);
                }
                else
                {
                    foreach (string f_useKey in ServiceManagerGlobal.UserConfig.Keys)
                    {
                        if (f_useKey == AttributeName)
                        {
                            ServiceManagerGlobal.UserConfig.Remove(f_useKey);
                            ServiceManagerGlobal.UserConfig.Add(AttributeName, NewValue);
                            return true;
                        }
                    }
                    ServiceManagerGlobal.UserConfig.Add(AttributeName, NewValue);
                }
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 获取用户属性
        /// </summary>
        /// <param name="AttributeName"></param>
        /// <returns></returns>
        public string GetUserAttribute(string AttributeName)
        {
            if (ServiceManagerGlobal.UserConfig != null)
            {
                foreach (string f_useKey in ServiceManagerGlobal.UserConfig.Keys)
                {
                    if (f_useKey == AttributeName)
                    {
                        return ServiceManagerGlobal.UserConfig[f_useKey].ToString();
                    }
                }
            }
            string CurrentLoginName = g_personalInfo.LoginName;
            try
            {
                //IDictionary UseConfigTable = (IDictionary)ConfigurationSettings.GetConfig(CurrentLoginName);
                IDictionary UseConfigTable = (IDictionary)ConfigurationManager.GetSection(CurrentLoginName);
                string UseConfigAttribute = "";
                if (UseConfigTable[AttributeName] != null)
                {
                    UseConfigAttribute = (string)UseConfigTable[AttributeName];
                }
                return UseConfigAttribute;
            }
            catch
            {
                return "";
            }
        }
        /// <summary>
        /// 设置当前用户
        /// </summary>
        /// <param name="UserName">用户名</param>
        /// <returns>是否成功</returns>
        public bool SetUser(string UserName)
        {
            GlobalConfig globalconfig = new GlobalConfig();
            if (globalconfig.CreateUseConfig(UserName))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}