예제 #1
0
        public async void RefreshStatuses()
        {
            ShowingStatuses.Clear();
            try
            {
                var s = await kbtter.Token.Statuses.UserTimelineAsync(screen_name => user.ScreenName, count => showst);

                stoc = s.Last().Id;
                stnc = s.First().Id;
                ShowOlderStatusesCommand.RaiseCanExecuteChanged();
                ShowNewerStatusesCommand.RaiseCanExecuteChanged();
                foreach (var i in s)
                {
                    ShowingStatuses.Add(StatusViewModelExtension.CreateStatusViewModel(mainw, i));
                }
            }
            catch (TwitterException e)
            {
                mainw.NotifyInformation(string.Format("ツイートの取得に失敗しました : {0}", e.Message));
                stoc = 0;
                stnc = 0;
            }
            catch
            {
                stoc = 0;
                stnc = 0;
            }
        }
예제 #2
0
 protected override void Dispose(bool disposing)
 {
     base.Dispose(disposing);
     mainw  = null;
     kbtter = null;
     user   = null;
     ShowingStatuses.Clear();
     ShowingFavorites.Clear();
     ShowingFriends.Clear();
     ShowingFollowers.Clear();
 }
예제 #3
0
파일: Kbtter.cs 프로젝트: kb10uy/Kbtter3
        private async void NotifyStatusUpdate(StatusMessage msg)
        {
            CacheStatuses(msg);
            if (msg.Type != MessageType.Create)
            {
                return;
            }
            LatestStatus = await ProcessStatuses(msg);

            ShowingStatuses.Enqueue(LatestStatus.Status);
            RaisePropertyChanged("Status");
            await Task.Run(() =>
            {
                foreach (var p in Plugins)
                {
                    p.StatusUpdate(msg.DeepCopy(), PluginMonitoringToken);
                }
            });
        }