Exemplo n.º 1
0
 /// <summary>
 ///     初始化
 /// </summary>
 public void Init()
 {
     lock (InitLock)
     {
         if (_isInited)
         {
             return;
         }
         Logger.Debug("ContextInfoManager init...");
         if (_contextInfoDict != null)
         {
             return;
         }
         _contextInfoDict = new Dictionary <string, ContextInfo>();
         U9ContextSectionGroup u9ActionSectionGroup = U9ContextSectionGroup.GetConfig();
         if (u9ActionSectionGroup == null)
         {
             return;
         }
         MultiEnterprise = u9ActionSectionGroup.MultiEnterprise;
         foreach (U9ContextSection u9ContextSection in u9ActionSectionGroup.U9Contexts)
         {
             if (_contextInfoDict.ContainsKey(u9ContextSection.EnterpriseID))
             {
                 throw new U9ContextException(string.Format("enterpriseID:{0} is repeat",
                                                            u9ContextSection.EnterpriseID));
             }
             ContextInfo contextInfo = ContextInfo.Create(u9ContextSection.EnterpriseID, u9ContextSection.EnterpriseName,
                                                          u9ContextSection.OrgID, u9ContextSection.OrgCode, u9ContextSection.OrgName, u9ContextSection.UserID,
                                                          u9ContextSection.UserCode, u9ContextSection.UserName, u9ContextSection.Culture, u9ContextSection.SupportCultureNameList);
             _contextInfoDict.Add(contextInfo.EnterpriseID, contextInfo);
         }
         if (!MultiEnterprise)
         {
             string defaultEnterpriseID = u9ActionSectionGroup.DefaultEnterpriseID;
             if (string.IsNullOrEmpty(defaultEnterpriseID))
             {
                 throw new U9ContextException("defaultEnterpriseID is empty");
             }
             if (!_contextInfoDict.ContainsKey(defaultEnterpriseID))
             {
                 throw new U9ContextException(string.Format("defaultEnterpriseID:{0} is not exist",
                                                            defaultEnterpriseID));
             }
             DefaultContext = _contextInfoDict[defaultEnterpriseID];
         }
         _isInited = true;
     }
 }