public void ToggleFavorite()
{
if (!CanFavorite)
{
NotifyQuickActionFailed(
MainAreaTimelineResources.MsgProhibitFavorite,
IsDirectMessage
? MainAreaTimelineResources.MsgProhibitFavoriteDirectMessage
: MainAreaTimelineResources.MsgProhibitFavoriteMyself);
return;
}
var model = RetweetedOriginalModel ?? Model;
var favoriteds =
Setting.Accounts.Collection
.Where(a => model.IsFavorited(a.Id))
.ToArray();
MainWindowModel.ExecuteAccountSelectAction(
AccountSelectionAction.Favorite,
favoriteds,
infos =>
{
var accounts =
infos as TwitterAccount[] ?? infos.ToArray();
var adds = accounts.Except(favoriteds);
var rmvs = favoriteds.Except(accounts);
Favorite(adds, true);
Favorite(rmvs, false);
});
}