public UserInfo(DataModels.Twitter.User user) { Id = user.Id; Name = user.Name.Trim(); ScreenName = user.ScreenName; Location = user.Location; Description = user.Description; try { ImageUrl = new Uri(user.ProfileImageUrl); } catch (Exception) { ImageUrl = null; } Url = user.Url; Protect = user.Protected; FriendsCount = user.FriendsCount; FollowersCount = user.FollowersCount; CreatedAt = MyCommon.DateTimeParse(user.CreatedAt); StatusesCount = user.StatusesCount; Verified = user.Verified; //// isFollowing = isFollowing; if (user.Status == null) { return; } RecentPost = user.Status.Text; PostCreatedAt = MyCommon.DateTimeParse(user.Status.CreatedAt); PostSource = user.Status.Source; }
private bool AnalizeUserInfo(DataModels.Twitter.User user) { if (user == null) { return(false); } try { _info.Id = user.Id; _info.Name = user.Name.Trim(); _info.ScreenName = user.ScreenName; _info.Location = user.Location; _info.Description = user.Description; _info.ImageUrl = new Uri(user.ProfileImageUrl); _info.Url = user.Url; _info.Protect = user.Protected; _info.FriendsCount = user.FriendsCount; _info.FollowersCount = user.FollowersCount; _info.FavoriteCount = user.FavouritesCount; _info.CreatedAt = MyCommon.DateTimeParse(user.CreatedAt); _info.StatusesCount = user.StatusesCount; _info.Verified = user.Verified; try { _info.RecentPost = user.Status.Text; _info.PostCreatedAt = MyCommon.DateTimeParse(user.Status.CreatedAt); _info.PostSource = user.Status.Source; if (!_info.PostSource.Contains("</a>")) { _info.PostSource += "</a>"; } } catch (Exception) { _info.RecentPost = null; _info.PostSource = null; } } catch (Exception) { return(false); } return(true); }
private void UpdateProfileImage_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Result == null) { return; } // アイコンを取得してみるが、古いアイコンのユーザーデータが返ってくるため反映/判断できない try { DataModels.Twitter.User user = null; _owner.TwitterInstance.GetUserInfo(_info.ScreenName, ref user); Image img = (new HttpVarious()).GetImage(user.ProfileImageUrl); if (img != null) { UserPicture.Image = img; } } catch (Exception) { } }
public void SetUser(DataModels.Twitter.User value) { _userInfo = value; }
public string GetUserInfo(string screenName, ref User user) { if (MyCommon.IsEnding) { return string.Empty; } if (AccountState != AccountState.Valid) { return string.Empty; } HttpStatusCode res; string content = string.Empty; user = null; try { res = _twitterConnection.ShowUserInfo(screenName, ref content); } catch (Exception ex) { return string.Format("Err:{0}({1})", ex.Message, MethodBase.GetCurrentMethod().Name); } switch (res) { case HttpStatusCode.OK: AccountState = AccountState.Valid; try { user = D.CreateDataFromJson<User>(content); } catch (SerializationException ex) { MyCommon.TraceOut(ex.Message + Environment.NewLine + content); return "Err:Json Parse Error(DataContractJsonSerializer)"; } catch (Exception ex) { MyCommon.TraceOut(ex, MethodBase.GetCurrentMethod().Name + " " + content); return "Err:Invalid Json!"; } return string.Empty; case HttpStatusCode.BadRequest: return "Err:API Limits?"; case HttpStatusCode.Unauthorized: AccountState = AccountState.Invalid; string errMsg = GetErrorMessageJson(content); return string.IsNullOrEmpty(errMsg) ? R.Unauthorized : "Auth err:" + errMsg; default: return string.Format("Err:{0}({1})", res, MethodBase.GetCurrentMethod().Name); } }
private void ShowUserStatus(string id, bool showInputDialog = true) { if (id == null) { return; } var sid = id; if (showInputDialog) { if (!TryUserInputText(ref sid, "Show UserStatus", R.FRMessage1)) { return; } id = sid; } if (string.IsNullOrEmpty(id)) { return; } var user = new DataModels.Twitter.User(); var args = new GetUserInfoArgs { Tw = _tw, Id = id, User = user }; using (var info = new FormInfo(this, R.doShowUserStatusText1, GetUserInfo_DoWork, null, args)) { info.ShowDialog(); var ret = (string)info.Result; if (!string.IsNullOrEmpty(ret)) { MessageBox.Show(ret); return; } } using (var userinfo = new ShowUserInfo()) { userinfo.Owner = this; userinfo.SetUser(args.User); userinfo.ShowDialog(this); Activate(); BringToFront(); } }