Ejemplo n.º 1
0
        /// <summary>
        /// 根据系统实例返回菜单列表。
        /// </summary>
        /// <param name="systemInstance">系统实例。</param>
        /// <returns>菜单列表。</returns>
        public static PowerItemCollection GetPowerSetting(SystemInstance systemInstance)
        {
            string key = "Power_";

            if (systemInstance.SystemType == SystemType.Custom)
            {
                key += systemInstance.SystemId.ToString("d", System.Globalization.NumberFormatInfo.InvariantInfo);
            }
            else
            {
                key += systemInstance.SystemType.ToString();
            }

            if (cacheSystemInstances[key] == null)
            {
                string path = SystemPath.GetPowerConfigPath(systemInstance);

                if (System.IO.File.Exists(path))
                {
                    PowerItemCollection list = Kenfor.KStar.Utility.Serialize.XmlSerializer.GetDeserializeObjectFromFile(path, typeof(PowerItemCollection)) as PowerItemCollection;

                    cacheSystemInstances.Add(key, list, CacheItemPriority.Normal, null, new Microsoft.Practices.EnterpriseLibrary.Caching.Expirations.FileDependency(path));
                }
            }
            return(cacheSystemInstances[key] as PowerItemCollection);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 根据编号返回指定的系统实例。
        /// </summary>
        /// <param name="systemId">系统编号。</param>
        /// <returns>系统编号。</returns>
        public static SystemInstance GetSystemInstance(int systemId)
        {
            List <SystemInstance> list = SystemInstances;

            for (int i = 0; i < list.Count; i++)
            {
                SystemInstance item = getSystemInstance(list[i], systemId);
                if (item != null)
                {
                    return(item);
                }
            }
            return(null);
        }
Ejemplo n.º 3
0
 private static SystemInstance getSystemInstance(SystemInstance systemInstance, int systemId)
 {
     if (systemInstance.SystemId == systemId)
     {
         return(systemInstance);
     }
     if (systemInstance.Items.Count > 0)
     {
         for (int i = 0; i < systemInstance.Items.Count; i++)
         {
             SystemInstance item = getSystemInstance(systemInstance.Items[i], systemId);
             if (item != null)
             {
                 return(item);
             }
         }
     }
     return(null);
 }