internal async Task ShowFriendship(string id)
{
using (var inputName = new InputTabName())
{
inputName.FormTitle = "Show Friendships";
inputName.FormDescription = Properties.Resources.FRMessage1;
inputName.TabName = id;
if (inputName.ShowDialog(this) != DialogResult.OK)
return;
if (string.IsNullOrWhiteSpace(inputName.TabName))
return;
id = inputName.TabName.Trim();
}
bool isFollowing, isFollowed;
using (var dialog = new WaitingDialog(Properties.Resources.ShowFriendshipText1))
{
var cancellationToken = dialog.EnableCancellation();
try
{
var task = this.twitterApi.FriendshipsShow(this.twitterApi.CurrentScreenName, id);
var friendship = await dialog.WaitForAsync(this, task);
isFollowing = friendship.Relationship.Source.Following;
isFollowed = friendship.Relationship.Source.FollowedBy;
}
catch (WebApiException ex)
{
if (!cancellationToken.IsCancellationRequested)
MessageBox.Show($"Err:{ex.Message}(FriendshipsShow)");
return;
}
if (cancellationToken.IsCancellationRequested)
return;
}
string result = "";
if (isFollowing)
{
result = Properties.Resources.GetFriendshipInfo1 + System.Environment.NewLine;
}
else
{
result = Properties.Resources.GetFriendshipInfo2 + System.Environment.NewLine;
}
if (isFollowed)
{
result += Properties.Resources.GetFriendshipInfo3;
}
else
{
result += Properties.Resources.GetFriendshipInfo4;
}
result = id + Properties.Resources.GetFriendshipInfo5 + System.Environment.NewLine + result;
MessageBox.Show(result);
}