private void SetUserStates()
{
UserState.Dispatcher.BeginInvoke(new Action(() =>
{
UserState.Text = "Loading...";
}));
if (CurrentUser == ViewingUser)
{
SetUserStates(UserStateKind.Me);
}
else
{
if (BlockingUsers.Exists(p => p == ViewingUser))
{
SetUserStates(UserStateKind.Blocking);
}
Service.GetFriendshipInfo(new GetFriendshipInfoOptions { SourceId = CurrentUser.Id.ToString(), TargetId = ViewingUser.Id.ToString() }, (tclfw, res2) =>
{
var fol = tclfw.Relationship.Target;
//フォローしてるだけ
//されてるだけ
//FF
var following = fol.FollowedBy;
var followed = fol.Following;
if (following && followed)
{
//相互
SetUserStates(UserStateKind.FFed);
}
else if (following && !followed)
{
//フォローだけ
SetUserStates(UserStateKind.Following);
}
else if (!following && followed)
{
//されてるだけ
SetUserStates(UserStateKind.Followed);
}
else
{
//赤の他人
SetUserStates(UserStateKind.None);
}
});
}
}