Ejemplo 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);
        }
Ejemplo 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;
                }
            }
        }