public async void RemoveRetweetedUser(long userId)
{
if (Status.RetweetedOriginal != null)
{
var status = await Get(Status.RetweetedOriginal).ConfigureAwait(false);
status.RemoveRetweetedUser(userId);
}
else
{
TwitterUser remove;
lock (_retweetedsLock)
{
if (_retweetedUsersDic.TryGetValue(userId, out remove))
{
_retweetedUsersDic.Remove(userId);
Status.RetweetedUsers = Status.RetweetedUsers.Guard().Except(new[] { userId }).ToArray();
}
}
if (remove != null)
{
_retweetedUsers.Remove(remove);
// update persistent info
#pragma warning disable 4014
StatusProxy.RemoveRetweeter(Status.Id, userId);
StatusBroadcaster.Republish(this);
#pragma warning restore 4014
}
}
}