/// <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); }
public static void DeleteSelectedV_ModuleInfo(string strUserID, string strModuleID) { V_ModuleInfo deleteV_ModuleInfo = (from o in SterlingService.Current.Database.Query <V_ModuleInfo, string>() where o.LazyValue.Value.ModuleID == strModuleID && o.LazyValue.Value.UserID == strUserID select o.LazyValue.Value).FirstOrDefault(); if (deleteV_ModuleInfo != null) { SterlingService.Current.Database.Delete(deleteV_ModuleInfo); SterlingService.Current.Database.Flush(); } GetAllV_ModuleInfo(strUserID); }
public static void SaveV_ModuleInfo(string strUserID, List <V_ModuleInfo> ents) { V_ModuleInfo newV_ModuleInfo = new V_ModuleInfo(); var tmps = (from o in SterlingService.Current.Database.Query <V_ModuleInfo, string>() where o.LazyValue.Value.UserID == strUserID select o.LazyValue.Value).ToList(); if (tmps != null) { if (tmps.Count() > 0) { DeleteAllV_ModuleInfo(strUserID); } } foreach (var o in ents) { SterlingService.Current.Database.Save(o); } SterlingService.Current.Database.Flush(); }