/// <summary> /// 应用插件扩展属性 /// </summary> /// <param name="dataTable">扩展数据表</param> /// <param name="addon">插件</param> public static void GetAddonExtendProperties(PaoObject addon) { if (addon == null) { return; } var keys = ConfigStoragePublic.FindConfigKeys(ExtendAddonStorageName , (key) => { return(key.IndexOf(addon.ID + "&") == 0); }); if (keys.IsNullOrEmpty()) { return; } foreach (var key in keys) { string[] ids = key.Split(new char[] { '&' }, 2); string propertyName = ids[1]; var propertyValue = ConfigStoragePublic.GetConfig(ExtendAddonStorageName, key); AddonPublic.SetPropertyValueByPath(addon, propertyName, propertyValue); } }
/// <summary> /// 根据插件ID查找编辑中的插件 /// </summary> /// <param name="addonID">插件ID</param> /// <returns></returns> public static PaoObject GetEditiongAddonByID(string addonID) { if (RootEditingObject == null) { return(null); } PaoObject addonEditing = null; AddonPublic.TraverseAddon((addon) => { if (addon is PaoObject) { var paoObj = addon as PaoObject; if (paoObj.ID == addonID) { addonEditing = paoObj; return(false); } } return(true); }, RootEditingObject); return(addonEditing); }
public PaoObject LoadLocalConfig(string configName) { PaoObject configObject = null; TraverseLocalConfig((p) => { configObject = p; return(false); }, configName); return(configObject); }
/// <summary> /// 抽取插件扩展属性 /// </summary> /// <param name="dataTable">扩展数据表</param> /// <param name="addon">插件</param> /// <param name="properties">需要纳入扩展的属性</param> public static void SetAddonExtendProperties(PaoObject addon, params string[] properties) { if (addon.IsNotNull() && properties.IsNotNullOrEmpty()) { foreach (var property in properties) { var propertyValue = addon.GetPropertyValueByPath(property); var propertyID = GetAddonPropertyID(addon, property); if (propertyValue.IsNotNull()) { ConfigStoragePublic.SetConfig(ExtendAddonStorageName, propertyID, propertyValue); } } } }
public void SaveLocalConfig(PaoObject configObject) { var dataService = DataService.Value; dataService.ExecuteBySql(Sql_DisableCurrentLocalConfig , new DataParameter("@ConfigName", configObject.ID) , new DataParameter("@ComputerID", SecurityPublic.CurrentUser.ComputerID) , new DataParameter("@SoftwareID", PaoApplication.Default.SoftwareID)); var configTable = new ConfigDataSet.T_ConfigDataTable(); var configRow = configTable.AddT_ConfigRow(Guid.NewGuid() , PaoApplication.Default.SoftwareID , SecurityPublic.CurrentUser.ComputerID , configObject.ID , Int32.MaxValue , DateTime.Now , DateTime.MaxValue , null , IOPublic.Serialize <byte[]>(configObject)); dataService.UpdateTable(configTable, "T_Config"); }
public void SaveGlobalConfig(PaoObject configObject, int priority, IClientFilter clientFilter) { var dataService = DataService.Value; SecurityPublic.DemandPermission(ID, Permission_SaveGlobalConfig); dataService.ExecuteBySql(Sql_DisableCurrentLocalConfig , new DataParameter("@ConfigName", configObject.ID) , new DataParameter("@SoftwareID", PaoApplication.Default.SoftwareID)); var configTable = new ConfigDataSet.T_ConfigDataTable(); var configRow = configTable.AddT_ConfigRow(Guid.NewGuid() , PaoApplication.Default.SoftwareID , null , configObject.ID , priority , DateTime.Now , DateTime.MaxValue , IOPublic.Serialize <byte[]>(clientFilter) , IOPublic.Serialize <byte[]>(configObject)); dataService.UpdateTable(configTable, "T_Config"); }
/// <summary> /// 获取插件属性ID,用于在配置存储中检索 /// </summary> /// <param name="addon">插件</param> /// <param name="propertyName">属性名</param> /// <returns>插件属性ID</returns> private static string GetAddonPropertyID(PaoObject addon, string propertyName) { var id = String.Format("{0}&{1}", addon.ID, propertyName); return(id); }