/// <summary>
        /// 获取当前租户链接字典
        /// </summary>
        /// <returns></returns>
        internal Dictionary <string, string> GetConnectionDic(string orgCode, bool isMaster = true)
        {
            Dictionary <string, string> dic = new Dictionary <string, string>();

            //当未传入租户编码时
            if (string.IsNullOrEmpty(orgCode) && HttpContext.Current != null)
            {
                orgCode = HttpContext.Current.Request["orgCode"];
                if (string.IsNullOrEmpty(orgCode))
                {
                    var adminInfo = HttpContext.Current.Request.Cookies["AdminInfo"];
                    if (adminInfo != null && adminInfo["OrgCode"] != null)
                    {
                        orgCode = adminInfo["OrgCode"].ToStr();
                    }
                }
            }
            if (!string.IsNullOrEmpty(orgCode))
            {
                List <OrganizationEntity> list       = GetOrganizationEntitys();
                List <OrganizationEntity> entityList = list.Where(w => w.code.ToLower() == orgCode.ToLower()).ToList();
                if (entityList.Count() > 0)
                {
                    OrganizationEntity entity = entityList.First();
                    //使用从库,并且从库存在启用的,默认取第一个
                    if (isMaster == false && entity.slaves != null && entity.slaves.Where(w => w.state == 0).Count() > 0)
                    {
                        dic.Add("connectionstring", entity.slaves.First().connectionstring);
                        dic.Add("provider", entity.provider);
                    }
                    else
                    {
                        dic.Add("connectionstring", entity.connectionstring);
                        dic.Add("provider", entity.provider);
                    }
                    return(dic);
                }
            }
            else
            {
                dic.Add("connectionstring", ConfigurationManager.ConnectionStrings["SqlConn"].ToStr());
                dic.Add("provider", ConfigurationManager.ConnectionStrings["SqlConn"].ProviderName);
                return(dic);
            }
            return(null);
        }
        /// <summary>
        /// 租户实体对象
        /// </summary>
        /// <returns></returns>
        internal List <OrganizationEntity> GetOrganizationEntitys()
        {
            List <OrganizationEntity> list = (List <OrganizationEntity>)YK.Cache.CachesHelper.GetCache("OrganizationsEntitys");

            //存在缓存则直接返回,否则实例化对象
            if (list == null)
            {
                list = new List <OrganizationEntity>();
            }
            else
            {
                return(list);
            }

            string      fileUrl = HttpContext.Current.Server.MapPath("~/App_Data/Organization.xml");
            XmlDocument xd      = new XmlDocument();

            xd.Load(fileUrl);
            XmlNodeList xmlNodeList = xd.SelectSingleNode("Organizations").ChildNodes;

            //循环遍历租户
            foreach (XmlNode item in xmlNodeList)
            {
                //如果是注释节点则跳出
                if (item.NodeType == XmlNodeType.Comment)
                {
                    continue;
                }
                OrganizationEntity entity = new OrganizationEntity();

                #region 获取节点实体
                foreach (XmlNode childItem in item.ChildNodes)
                {
                    #region Tenants对象赋值
                    string value = childItem.InnerText;
                    switch (childItem.Name.ToLower())
                    {
                    case "name":
                        entity.name = value;
                        break;

                    case "code":
                        entity.code = value;
                        break;

                    case "provider":
                        entity.provider = value;
                        break;

                    case "connectionstring":
                        entity.connectionstring = value;
                        break;

                    case "state":
                        entity.state = value.ToInt();
                        break;

                    case "slaves":
                        entity.slaves = new List <OrganizationSalves>();
                        foreach (XmlNode interfaceItem in childItem.ChildNodes)
                        {
                            #region InterfacePostData实体赋值
                            OrganizationSalves model = new OrganizationSalves();
                            foreach (XmlNode interfaceChildItem in interfaceItem)
                            {
                                switch (interfaceChildItem.Name.ToLower())
                                {
                                case "connectionstring":
                                    model.connectionstring = interfaceChildItem.ChildNodes[0].InnerText;
                                    break;

                                case "proportion":
                                    model.proportion = interfaceChildItem.ChildNodes[0].InnerText.ToDecimal();
                                    break;

                                case "state":
                                    model.state = value.ToInt();
                                    break;
                                }
                            }
                            entity.slaves.Add(model);
                            #endregion
                        }
                        break;
                    }
                    #endregion
                }
                #endregion

                list.Add(entity);
            }
            YK.Cache.CachesHelper.AddCache("OrganizationsEntitys", list);
            return(list);
        }