Example #1
0
        /// <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);
        }
Example #2
0
        public static void DeleteSelectedV_ModuleInfo_Params(string strUserID, string strModuleID)
        {
            V_ModuleInfo_Params deleteV_ModuleInfo_Params = (from o in SterlingService.Current.Database.Query <V_ModuleInfo_Params, string>()
                                                             where o.LazyValue.Value.ModuleID == strModuleID && o.LazyValue.Value.UserID == strUserID
                                                             select o.LazyValue.Value).FirstOrDefault();

            if (deleteV_ModuleInfo_Params != null)
            {
                SterlingService.Current.Database.Delete(deleteV_ModuleInfo_Params);
                SterlingService.Current.Database.Flush();
            }

            GetAllV_ModuleInfo_Params(strUserID);
        }
Example #3
0
        public static void SaveV_ModuleInfo_Params(string strUserID, List <V_ModuleInfo_Params> ents)
        {
            V_ModuleInfo_Params newV_ModuleInfo_Params = new V_ModuleInfo_Params();

            var tmps = (from o in SterlingService.Current.Database.Query <V_ModuleInfo_Params, string>()
                        where o.LazyValue.Value.UserID == strUserID
                        select o.LazyValue.Value).ToList();

            if (tmps != null)
            {
                if (tmps.Count() > 0)
                {
                    DeleteAllV_ModuleInfo_Params(strUserID);
                }
            }

            foreach (var o in ents)
            {
                SterlingService.Current.Database.Save(o);
            }

            SterlingService.Current.Database.Flush();
        }