public void GetUserMostRecentShots(string username, int pageIndex, int prePage) { string requestUrl = GetRequestUrl("players/" + username + "/shots", pageIndex, prePage); DataRequestHelper requestHelper = new DataRequestHelper(); requestHelper.ExcuteAsyncRequest(requestUrl, Method.GET, _postArgumentList); requestHelper.AsyncResponseComplated += (responseData, ex) => { if (!string.IsNullOrEmpty(responseData.ToString())) { if (!base.IsRateLimitedRequest(responseData.ToString())) { try { UserRecentShot recentShots = JsonConvert.DeserializeObject <UserRecentShot>(responseData.ToString()); if (AsyncUserProfileComplated != null) { AsyncUserProfileComplated(recentShots, null); } } catch (Exception se) { if (AsyncUserProfileComplated != null) { AsyncUserProfileComplated("Json format error.try later", new EventArgs()); } } } else { if (AsyncUserProfileComplated != null) { AsyncUserProfileComplated("Rate limited for a minute.", new EventArgs()); } } } }; }
public void GetPlayerRecentShots(string username, int pageIndex, int prePage, bool isDynamicLoad = false) { //start processbar _processBarHelper.StartProcessBar(); //register pagncation RegisterPaginationInfo(PagintaionType.ProfileShots, pageIndex, prePage); UserRequestHelper userProfileHelper = new UserRequestHelper(); userProfileHelper.GetUserMostRecentShots(username, pageIndex, prePage); userProfileHelper.AsyncUserProfileComplated += (responseData, ex) => { //end processbar _processBarHelper.EndProcessBar(); if (ex == null) { #region get use most recent shot UserRecentShot recentShots = null; if (responseData != null) { recentShots = responseData as UserRecentShot; } if (recentShots != null) { if (!isDynamicLoad) { _userRecentShotsCol.Clear(); } //update total pages UpdateTotalPage(PagintaionType.ProfileShots, recentShots.Pages); if (recentShots.Shots.Count > 0) { recentShots.Shots.ForEach(queryEntity => { #region get shot first author comment detail body ShotRequestHelper shotHelper = new ShotRequestHelper(); shotHelper.GetShotCommentById(queryEntity.Id, 1, 1); shotHelper.AsyncRequestComplated += (commentData, comEx) => { if (comEx == null) { #region get comment by shot id ShotComment firstComment = null; if (commentData != null) { firstComment = commentData as ShotComment; } if (firstComment.Comments.Count > 0) { string commentContent = firstComment.Comments[0].Body; commentContent = commentContent.Replace('\r', ' ').Replace('\n', ' '); if (commentContent.Length > 150) { queryEntity.Comment = commentContent.Substring(0, 150) + "..."; } else { queryEntity.Comment = commentContent; } } //format datetime BasicRequestHelper requestHelper = new BasicRequestHelper(); queryEntity.FormatDate = requestHelper.SpiltDateTimeStr(queryEntity.Created_at); #endregion } else { string errorMessage = commentData.ToString(); if (!string.IsNullOrEmpty(errorMessage)) { new ToastNotifyHelper().ShowCoding4FunToastNotify(errorMessage, "Tip"); } } }; #endregion this._userRecentShotsCol.Add(queryEntity); }); } } #endregion } else { string errorMessage = responseData.ToString(); if (!string.IsNullOrEmpty(errorMessage)) { new ToastNotifyHelper().ShowCoding4FunToastNotify(errorMessage, "Tip"); } } }; }