/// <summary> /// 保存分系统及其菜单完成事件到本地数据库 /// </summary> /// <param name="strUserID">用户ID</param> /// <param name="listModuleInfos">菜单实体集</param> private void SaveModuleByLocal(string strUserID, List <ModuleInfo> listModuleInfos) { List <V_ModuleInfo> vLocalModules = new List <V_ModuleInfo>(); List <V_ModuleInfo_DependsOn> vLocalModuleDependsOns = new List <V_ModuleInfo_DependsOn>(); List <V_ModuleInfo_Params> vLocalModuleParams = new List <V_ModuleInfo_Params>(); foreach (var item in listModuleInfos) { if (item.ModuleName == null) { continue; } V_ModuleInfo info = item.CloneObject <V_ModuleInfo>(new V_ModuleInfo()); info.UserModuleID = System.Guid.NewGuid().ToString(); info.UserID = strUserID; vLocalModules.Add(info); if (item.DependsOn != null) { if (item.DependsOn.Count > 0) { foreach (var p in item.DependsOn) { V_ModuleInfo_DependsOn dependsOn = new V_ModuleInfo_DependsOn(); dependsOn.UserModuleID = info.UserModuleID; dependsOn.UserID = strUserID; dependsOn.ModuleID = item.ModuleID; dependsOn.ModuleName = p; vLocalModuleDependsOns.Add(dependsOn); } } } if (item.InitParams != null) { if (item.InitParams.Count > 0) { foreach (var d in item.InitParams) { V_ModuleInfo_Params param = new V_ModuleInfo_Params(); param.UserModuleID = info.UserModuleID; param.UserID = strUserID; param.ModuleID = item.ModuleID; param.ParamKey = d.Key; param.ParamValue = d.Value; vLocalModuleParams.Add(param); } } } } V_ModuleInfoVM.SaveV_ModuleInfo(strUserID, vLocalModules); V_ModuleInfo_DependsOnVM.SaveV_ModuleInfo_DependsOn(strUserID, vLocalModuleDependsOns); V_ModuleInfo_ParamsVM.SaveV_ModuleInfo_Params(strUserID, vLocalModuleParams); }
/// <summary> /// 获取分系统及其菜单完成事件到本地数据库 /// </summary> /// <param name="strUserID"></param> public void GetModulesByLocal(string strUserID) { List <ModuleInfo> moduleinfo = new List <ModuleInfo>(); List <V_ModuleInfo> vLocalModules = V_ModuleInfoVM.GetAllV_ModuleInfo(strUserID); List <V_ModuleInfo_DependsOn> vLocalModuleDependsOns = V_ModuleInfo_DependsOnVM.GetAllV_ModuleInfo_DependsOn(strUserID); List <V_ModuleInfo_Params> vLocalModuleParams = V_ModuleInfo_ParamsVM.GetAllV_ModuleInfo_Params(strUserID); foreach (var item in vLocalModules) { if (item.ModuleName != null) { ModuleInfo info = item.CloneObject <ModuleInfo>(new ModuleInfo()); info.InitializationMode = item.UseState == "1" ? InitializationMode.OnDemand : InitializationMode.OnDemand; info.Ref = string.Empty; info.IsOnWeb = false; info.ModuleType = item.UseState == "1" ? string.Empty : item.ModuleType; List <string> listDepends = new List <string>(); foreach (var p in vLocalModuleDependsOns) { if (p.UserModuleID != item.UserModuleID) { continue; } info.DependsOn.Add(p.ModuleName); } foreach (var d in vLocalModuleParams) { if (info.InitParams == null) { info.InitParams = new Dictionary <string, string>(); } if (d.UserModuleID != item.UserModuleID) { continue; } info.InitParams.Add(d.ParamKey, d.ParamValue); } moduleinfo.Add(info); } } InitMainContext(moduleinfo); if (this.InitCompleted != null) { this.InitCompleted(this, EventArgs.Empty); } }