private static void RemoveTweetSink(AccountInfo info, long tweetId) { var tweet = ApiHelper.ExecApi(() => info.DestroyStatus(tweetId)); if (tweet != null) { if (tweet.Id != tweetId) { NotifyStorage.Notify("削除には成功しましたが、ツイートIDが一致しません。(" + tweetId.ToString() + " -> " + tweet.Id.ToString() + ")"); } else { if (tweet.InReplyToStatusId != 0) { var s = TweetStorage.Get(tweet.InReplyToStatusId); if (s != null) s.RemoveInReplyToThis(tweetId); } TweetStorage.Remove(tweetId); NotifyStorage.Notify("削除しました:" + tweet.ToString()); } } else { NotifyStorage.Notify("ツイートを削除できませんでした(@" + info.ScreenName + ")"); } }
private static void RemoveRetweetCore(AccountInfo d, TweetViewModel status) { // リツイートステータスの特定 var rts = TweetStorage.GetAll(vm => vm.Status.User.ScreenName == d.ScreenName && vm.Status is TwitterStatus && ((TwitterStatus)vm.Status).RetweetedOriginal != null && ((TwitterStatus)vm.Status).RetweetedOriginal.Id == status.Status.Id).FirstOrDefault(); if (rts == null || ApiHelper.ExecApi(() => d.DestroyStatus(rts.Status.Id) == null)) throw new ApplicationException(); }