コード例 #1
0
        /// <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);
            }
        }