Пример #1
0
 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 + ")");
     }
 }
Пример #2
0
 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();
 }