コード例 #1
0
        /// <summary>
        /// 查询用户或用户登录
        /// </summary>
        /// <returns>用户视图,总页数</returns>
        public HttpResponseMessage Get()
        {
            int totalPage = 0;
            string tokenID = string.Empty;
            List<UserViewResult> result = new List<UserViewResult>();

            var queryString = Request.GetQueryNameValuePairs();
            var token = queryString.FirstOrDefault(q=>q.Key.ToLower() == "token");
            if (!string.IsNullOrEmpty(token.Value))
            {
                tokenID = token.Value;
            }

            if (queryString.Any(q => q.Key.ToLower() == "logout"))
            {
                TokenFunction tokenFunction = new TokenFunction();
                tokenFunction.DeleteToken(new Token() { TokenID = tokenID });

                return Request.CreateResponse(HttpStatusCode.OK);
            }
            else if (queryString.Any(q => q.Key.ToLower() == "password"))
            {
                string userName = queryString.FirstOrDefault(q => q.Key.ToLower() == "username").Value;
                string password = queryString.FirstOrDefault(q => q.Key.ToLower() == "password").Value;

                var logonUser = new UserViewResult();
                int error = AuthenticationFunction.UserLogon(userName, password, out tokenID, out logonUser);

                if (error == 0)
                {
                    List<object> objectResult = new List<object>() { logonUser, tokenID };
                    return Request.CreateResponse(HttpStatusCode.OK, objectResult);
                }
                else
                {
                    return GetResponse.UserResponse(error);
                }
            }
            else
            {
                AuthenticationFunction.TokenValidation(tokenID);
                if (!AuthenticationFunction.IsAuthenticated)
                {
                    throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest, "token expired"));
                }

                var queryConditions = new UserQueryConditions();
                queryConditions.GetValues(queryString);

                UserFunction userFunction = new UserFunction();
                userFunction.QueryUsers(queryConditions, out result, out totalPage);

                List<object> objectResult = new List<object>() { result, new { totalPage = totalPage } };
                return Request.CreateResponse(HttpStatusCode.OK, objectResult);
            }
        }
コード例 #2
0
        /// <summary>
        /// 查询单个用户
        /// </summary>
        /// <param name="userID">用户编号</param>
        /// <returns>用户视图</returns>
        public UserViewResult Get(int userID)
        {
            int totalPage = 0;
            List<UserViewResult> result;
            string tokenID = string.Empty;

            var queryString = Request.GetQueryNameValuePairs();
            var token = queryString.FirstOrDefault(q => q.Key.ToLower() == "token");
            if (!string.IsNullOrEmpty(token.Value))
            {
                tokenID = token.Value;
            }

            AuthenticationFunction.TokenValidation(tokenID);
            if (!AuthenticationFunction.IsAuthenticated)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest, "token expired"));
            }

            UserQueryConditions queryConditions = new UserQueryConditions() { UserID = userID };
            UserFunction userFunction = new UserFunction();
            userFunction.QueryUsers(queryConditions, out result, out totalPage);

            return result.FirstOrDefault();
        }