public static bool ChangeName(int userId, string newName, string newNumber)
        {
            //var user = TagUser.All.SingleOrDefault(u => u.Id == userId);
            var userHost = HostTagGroupStatus.All.SingleOrDefault(h => h.HostId == userId && h.ParentGroupId == 0);

            if (userHost != null)
            {
                string oldName   = userHost.HostName;
                string oldNumber = userHost.HostExternalId;

                userHost.HostName       = newName;
                userHost.HostExternalId = newNumber;
                if (HostTag.All.Where(_d => _d.HostId != userId && _d.HostExternalId.Trim() == newNumber.Trim()).Count() > 0)
                {
                    throw new Exception("编号已经被使用!");
                }
                else
                {
                    UpdateHostTag(userHost);
                }
                if (userHost.TagId != 0)
                {
                    if (LocatingServiceUtil.IsAvailable())
                    {
                        IServiceApi serviceApi = LocatingServiceUtil.Instance <IServiceApi>();
                        serviceApi.UpdateTagNameAndSerialNo(userHost.TagId, newName, newNumber);
                    }
                    else
                    {
                        Tag.UpdateTagNameAndSerialNo(userHost.TagId, newName, newNumber);
                    }
                }

                //包含更新缓存
                //TagUser.UpdateNameAndNumber(userHost.Id, newName, newNumber);

                //var host = HostTag.AllActive.SingleOrDefault(h => h.HostId == userId);
                //host.HostName = newName;
                //host.HostExternalId = newNumber;
                if (Config.Settings.ProjectType == ProjectTypeEnum.WXFactory)
                {
                }


                //记录日志
                string str = "";
                if (oldName != newName)
                {
                    str += "名称由" + oldName + "改为" + newName + " ";
                }
                if (oldNumber != newNumber)
                {
                    str += "号码由" + oldNumber + "改为" + newNumber;
                }
                if (str != "")
                {
                    string calling = GetGroupName(userHost.HostGroupId);
                    Diary.Insert(ContextUser.Current.Id, 0, userHost.HostId, "修改" + calling + "信息: " + str);
                }

                return(true);
            }
            return(false);
        }