/// <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); }
/// <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); }
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); }