Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        // 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;
                }
            }
        }