public void ApiUsersGetInfo_Test() { var client = new DiscuzApiClient(); int[] uids = { 443, 17650 }; string[] fields = { "uid", "user_name", "password", "email", "mobile", "join_date" }; var responseResult = client.UsersGetInfo(uids, fields); Assert.IsNotNull(responseResult); }
// Summary: // Adds a new user to the data store by exist Acn user. // public void CreateAcnUser(int uid, out MembershipCreateStatus status) { status = MembershipCreateStatus.UserRejected; if (!ConfigGlobal_Arsenal.AcnSync) { return; } #region Get Acn UserInfo to init the intance of MembershipDto var client = new DiscuzApiClient(); int[] uids = { uid }; string[] fields = { "user_name", "password", "email", "mobile", "join_date" }; var responseResult = client.UsersGetInfo(uids, fields); if (string.IsNullOrEmpty(responseResult)) { return; } var jlist = JArray.Parse(responseResult); var json = jlist[0]; Init(); UserName = json["user_name"].ToString(); Password = json["password"].ToString(); Mobile = json["mobile"].ToString(); Email = json["email"].ToString(); CreateDate = Convert.ToDateTime(json["join_date"].ToString()); Remark = $"{{\"AcnID\": {uid}}}"; #endregion using (var conn = new SqlConnection(DataAccess.ConnectString)) { conn.Open(); var trans = conn.BeginTransaction(); try { IRepository repo = new Repository(); object providerUserKey; repo.Insert<Membership>(this, out providerUserKey, trans); var user = new User { ID = (Guid)providerUserKey, UserName = UserName, IsAnonymous = false, LastActivityDate = DateTime.Now, AcnID = uid, AcnUserName = UserName, MemberID = null, MemberName = string.Empty, WeChatOpenID = null, WeChatNickName = string.Empty }; repo.Insert(user, trans); trans.Commit(); status = MembershipCreateStatus.Success; } catch { trans.Rollback(); status = MembershipCreateStatus.ProviderError; } } }