/// <summary>
        ///
        /// </summary>
        /// <param name="imAccount"></param>
        /// <returns></returns>
        public bool ChangeNickname(ThirdIMAccount imAccount)
        {
            if (false == this.LoadAccessToken())
            {
                return(false);
            }

            var changeAccountUrl = string.Format(ChangeAccountApi, this.OrgName, this.AppName, imAccount.PlatformAccountId);
            var data             = new CreateAccountParams()
            {
                Nickname = imAccount.Nickname
            };

            var tokenResponse = HttpJson(HttpDecorator.HttpMethod.PUT, changeAccountUrl, data);

            if (IsErrorResult(tokenResponse.Content))
            {
                LogManager.GetLogger().Error("Easemob-Error(ChangeNickname): {0}[{1},{2}] => {3}", changeAccountUrl, this.AccessToken, imAccount.PlatformAccountId, tokenResponse.Content);
                return(false);
            }
            else
            {
                LogManager.GetLogger().Info("Easemob-Result(ChangeNickname): {0}[{1},{2}] => {3}", changeAccountUrl, this.AccessToken, imAccount.PlatformAccountId, tokenResponse.Content);
                return(true);
            }
        }
        private static void SyncIMAccount(ThirdIMAccount source)
        {
            var imAccount = ThirdIMAccount.CreateNew(source.PassportId, source.Platform, source.PlatformAccountId);

            imAccount.Nickname = source.Nickname;

            if (null == imAccount)
            {
                return;
            }

            if (imAccount.IsSync)
            {
                ObjectIOCFactory.GetSingleton <IIMProvider>(ModuleEnvironment.IMProviderName).ChangeNickname(imAccount);
            }
            else
            {
                var isSync = ObjectIOCFactory.GetSingleton <IIMProvider>(ModuleEnvironment.IMProviderName).CreateAccount(imAccount);
                if (isSync)
                {
                    imAccount.IsSync = isSync;
                    imAccount.Save();
                }
            };
        }
 private static void TrySyncIMAccount(ThirdIMAccount source)
 {
     try
     {
         SyncIMAccount(source);
     }
     catch
     {
         AppInstance.GetThreadPool().QueueWorkItem((item) => SyncIMAccount(item), source);
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="account"></param>
        /// <param name="passport"></param>
        public AccountEntity(AnonymousAccount account, UserPassport passport)
        {
            this.SetPropertyValues(account.GetPropertyValues());
            if (null != passport && null != passport.Profile)
            {
                this.UserProfile = passport.Profile;

                this.MobilePhone      = passport.MobilePhone;
                this.MultipleProfiles = passport.MultipleProfiles;
                this.IMAccount        = AccountAuthentication.LoadIMAccount(passport.Profile);
            }
        }
        public static ThirdIMAccount LoadIMAccount(UserProfile profile)
        {
            var currentProfileType = ProfileType.UserProfile;

            if (profile is OrganizationProfile)
            {
                currentProfileType = ((OrganizationProfile)profile).CurrentProfileType;
            }

            var platform  = ModuleEnvironment.IMProviderName;
            var imAccount = ThirdIMAccount.FindByPlatformAccountId(platform, ThirdIMAccount.BuildAccountName(profile.PassportId, currentProfileType));

            return(imAccount);
        }
Exemple #6
0
        public void CreateAccountTest()
        {
            var imAccount = new ThirdIMAccount()
            {
                Platform                = "Easemob",
                PlatformAccountId       = string.Concat("u-2", Mocks.TestHelper.GetRndNumber(10000, 999999)),
                PlatformAccountPassword = string.Concat("12321321", Mocks.TestHelper.GetRndNumber(10000, 999999))
            };

            var provider = ObjectIOCFactory.GetSingleton <IIMProvider>(ModuleEnvironment.IMProviderName);

            Console.WriteLine(provider.ToJson());

            var created = ObjectIOCFactory.GetSingleton <IIMProvider>(ModuleEnvironment.IMProviderName).CreateAccount(imAccount);

            Console.WriteLine(created);
        }
Exemple #7
0
        public void aa()
        {
            var passportId        = 121353430;
            var platformAccountId = string.Concat("im-", passportId);


            var imAccount = ThirdIMAccount.CreateNew(passportId, ModuleEnvironment.IMProviderName, platformAccountId);

            if (null != imAccount && false == imAccount.IsSync)
            {
                var isSync = ObjectIOCFactory.GetSingleton <IIMProvider>(ModuleEnvironment.IMProviderName).CreateAccount(imAccount);
                if (isSync)
                {
                    imAccount.IsSync = isSync;
                    imAccount.Save();
                }
            }
        }
        public static void SyncIMAccount(UserPassport passport)
        {
            return; // not using im

            var currentProfileType = ProfileType.UserProfile;

            if (passport.Profile is OrganizationProfile)
            {
                currentProfileType = ((OrganizationProfile)passport.Profile).CurrentProfileType;
            }

            var imAccount = new ThirdIMAccount();

            imAccount.Platform          = ModuleEnvironment.IMProviderName;
            imAccount.PlatformAccountId = string.Concat(ProfileType.OrganizationProfile == currentProfileType ? "cc-" : "u-", passport.PassportId);
            imAccount.Nickname          = ProfileType.OrganizationProfile == currentProfileType ? passport.Profile.RealName : passport.Profile.Nickname;

            TrySyncIMAccount(imAccount);
        }
        public bool SendResumeRequest(long consultantPassportId)
        {
            if (consultantPassportId < 0)
            {
                return(false);
            }
            var passport = UserPassport.FindById(consultantPassportId);

            if (null == passport || passport.ProfileType == ProfileType.UserProfile)
            {
                return(false);
            }

            var message     = string.Format("您可以将简历发送到我的邮箱:{0}", passport.Profile.Email);
            var toAccount   = ThirdIMAccount.FindByPlatformAccountId(Passports.ModuleEnvironment.IMProviderName, ThirdIMAccount.BuildAccountName(MvcContext.Current.PassportId, ProfileType.UserProfile));
            var fromAccount = ThirdIMAccount.FindByPlatformAccountId(Passports.ModuleEnvironment.IMProviderName, ThirdIMAccount.BuildAccountName(consultantPassportId, ProfileType.OrganizationProfile));
            var isSent      = ObjectIOCFactory.GetSingleton <IIMProvider>(Passports.ModuleEnvironment.IMProviderName)
                              .SendMessage(toAccount.PlatformAccountId, fromAccount.PlatformAccountId, "txt", message, null);

            return(isSent);
        }